java字符编码探究相关小函数
来源:百度文库 编辑:神马文学网 时间:2024/05/23 20:00:58
/**
*
*
* 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();
}
java字符编码探究相关小函数
Java字符编码转换过程说明
JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换-在线阅读-新书城
字符编码问题摘要
字符编码的奥秘
字符编码的奥秘
字符,字节和编码
Linux字符编码设置
dannyrao: 字符编码
Unicode字符编码规范
中文字符编码简介
字符,字节和编码
字符编码的奥秘
Unicode字符编码规范
JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础-在线阅读...
Java字符编码转换过程说明1_享受年轻,享受奋斗
WEB开发中的JAVA字符编码经验总结 - TM101 MySpace聚友博客
jspsmart字符编码的问题
JAVA编码规范
Java 程序编码规范
Java字符集编码研究
Java中文&编码问题
Java编码规范
java中的编码问题