⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 derbmpstring.java

📁 java 文件下载器。可自定义
💻 JAVA
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   DERBMPString.java

package org.bouncycastle.asn1;

import java.io.IOException;

// Referenced classes of package org.bouncycastle.asn1:
//			ASN1Object, ASN1OctetString, ASN1TaggedObject, DEROutputStream, 
//			DERString, DERObject

public class DERBMPString extends ASN1Object
	implements DERString
{

	String string;

	public static DERBMPString getInstance(Object obj)
	{
		if (obj == null || (obj instanceof DERBMPString))
			return (DERBMPString)obj;
		if (obj instanceof ASN1OctetString)
			return new DERBMPString(((ASN1OctetString)obj).getOctets());
		if (obj instanceof ASN1TaggedObject)
			return getInstance(((ASN1TaggedObject)obj).getObject());
		else
			throw new IllegalArgumentException((new StringBuilder()).append("illegal object in getInstance: ").append(obj.getClass().getName()).toString());
	}

	public static DERBMPString getInstance(ASN1TaggedObject obj, boolean explicit)
	{
		return getInstance(obj.getObject());
	}

	public DERBMPString(byte string[])
	{
		char cs[] = new char[string.length / 2];
		for (int i = 0; i != cs.length; i++)
			cs[i] = (char)(string[2 * i] << 8 | string[2 * i + 1] & 0xff);

		this.string = new String(cs);
	}

	public DERBMPString(String string)
	{
		this.string = string;
	}

	public String getString()
	{
		return string;
	}

	public String toString()
	{
		return string;
	}

	public int hashCode()
	{
		return getString().hashCode();
	}

	protected boolean asn1Equals(DERObject o)
	{
		if (!(o instanceof DERBMPString))
		{
			return false;
		} else
		{
			DERBMPString s = (DERBMPString)o;
			return getString().equals(s.getString());
		}
	}

	void encode(DEROutputStream out)
		throws IOException
	{
		char c[] = string.toCharArray();
		byte b[] = new byte[c.length * 2];
		for (int i = 0; i != c.length; i++)
		{
			b[2 * i] = (byte)(c[i] >> 8);
			b[2 * i + 1] = (byte)c[i];
		}

		out.writeEncoded(30, b);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -