java 字符编码 utf16 utf16be utf16le unicode 探究相关小函数
/** 
*
*
* UTF-16 charset 使用 16 位量,因此对字节顺序敏感。 流的字节顺序可以由 Unicode 字符 '\uFEFF'
* 所表示的初始字节顺序标记 来指示。
*
* UTF-16BE 16 位 UCS 转换格式,Big Endian(最低地址存放高位字节)字节顺序
* UTF-16LE 16 位 UCS
* 转换格式,Little-endian(最高地址存放低位字节)字节顺序
*
* java中 如果没有feff的标志,则默认为 feff
*
* @throws UnsupportedEncodingException
*/
void unicodeShow() throws UnsupportedEncodingException {
String shz;
byte[] hz;
hz = new byte[4];
hz[0] = (byte) 0xfe;
hz[1] = (byte) 0xff;
hz[2] = 0x55;
hz[3] = 0x4a;
shz = new String(hz, "utf-16");
System.out.println(shz);
hz = new byte[2];
hz[0] = 0x55;
hz[1] = 0x4a;
shz = new String(hz, "utf-16");
System.out.println(shz);
hz = new byte[2];
hz[0] = 0x55;
hz[1] = 0x4a;
shz = new String(hz, "utf-16be");
System.out.println(shz);
hz = new byte[4];
hz[0] = (byte) 0xff;
hz[1] = (byte) 0xfe;
hz[2] = 0x4a;
hz[3] = 0x55;
shz = new String(hz, "utf-16");
System.out.println(shz);
hz = new byte[2];
hz[0] = 0x4a;
hz[1] = 0x55;
shz = new String(hz, "utf-16le");
System.out.println(shz);
System.out.println("啊 UNICODE:U+554A");
System.out.print(Integer.toHexString("啊".charAt(0) >> 8 & 0xff));
System.out.print(" ");
System.out.print(Integer.toHexString("啊".charAt(0) & 0xff));
System.out.println();
for (byte i : "啊".getBytes("utf-16"))
System.out.print(Integer.toHexString(i & 0xff) + " ");
System.out.println();
for (byte i : "啊".getBytes("utf-16be"))
System.out.print(Integer.toHexString(i & 0xff) + " ");
System.out.println();
for (byte i : "啊".getBytes("utf-16le"))
System.out.print(Integer.toHexString(i & 0xff) + " ");
System.out.println();
}
 
*
*
* UTF-16 charset 使用 16 位量,因此对字节顺序敏感。 流的字节顺序可以由 Unicode 字符 '\uFEFF'
* 所表示的初始字节顺序标记 来指示。
*
* UTF-16BE 16 位 UCS 转换格式,Big Endian(最低地址存放高位字节)字节顺序
* UTF-16LE 16 位 UCS
* 转换格式,Little-endian(最高地址存放低位字节)字节顺序
*
* java中 如果没有feff的标志,则默认为 feff
*
* @throws UnsupportedEncodingException
*/
void unicodeShow() throws UnsupportedEncodingException {
String shz;
byte[] hz;
hz = new byte[4];
hz[0] = (byte) 0xfe;
hz[1] = (byte) 0xff;
hz[2] = 0x55;
hz[3] = 0x4a;
shz = new String(hz, "utf-16");
System.out.println(shz);
hz = new byte[2];
hz[0] = 0x55;
hz[1] = 0x4a;
shz = new String(hz, "utf-16");
System.out.println(shz);
hz = new byte[2];
hz[0] = 0x55;
hz[1] = 0x4a;
shz = new String(hz, "utf-16be");
System.out.println(shz);
hz = new byte[4];
hz[0] = (byte) 0xff;
hz[1] = (byte) 0xfe;
hz[2] = 0x4a;
hz[3] = 0x55;
shz = new String(hz, "utf-16");
System.out.println(shz);
hz = new byte[2];
hz[0] = 0x4a;
hz[1] = 0x55;
shz = new String(hz, "utf-16le");
System.out.println(shz);
System.out.println("啊 UNICODE:U+554A");
System.out.print(Integer.toHexString("啊".charAt(0) >> 8 & 0xff));
System.out.print(" ");
System.out.print(Integer.toHexString("啊".charAt(0) & 0xff));
System.out.println();
for (byte i : "啊".getBytes("utf-16"))
System.out.print(Integer.toHexString(i & 0xff) + " ");
System.out.println();
for (byte i : "啊".getBytes("utf-16be"))
System.out.print(Integer.toHexString(i & 0xff) + " ");
System.out.println();
for (byte i : "啊".getBytes("utf-16le"))
System.out.print(Integer.toHexString(i & 0xff) + " ");
System.out.println();
}
Tags:
作者:佚名评论内容只代表网友观点,与本站立场无关!
   评论摘要(共 0 条,得分 0 分,平均 0 分)
	查看完整评论
			 
 
 减小字体
减小字体 增大字体
增大字体



 中查找“java 字符编码 utf16 utf16be utf16le unicode 探究相关小函数”更多相关内容
中查找“java 字符编码 utf16 utf16be utf16le unicode 探究相关小函数”更多相关内容 中查找“java 字符编码 utf16 utf16be utf16le unicode 探究相关小函数”更多相关内容
中查找“java 字符编码 utf16 utf16be utf16le unicode 探究相关小函数”更多相关内容