Java中编码及转化相关问题
2010-06-18 17:26
281 查看
Java中编码及转化相关问题
1. 在Java中,内存存放方式是以Unicode方式进行的,高位在前,与windows中相反。例如:
String str = "中";
for (int i=0; i<str.length(); i++) {
int nHigh = 0xff & (str.charAt(i) >> 8);
int nLow = 0xff & str.charAt(i);
System.out.println(Integer.toHexString(nHigh) + ", " + Integer.toHexString(nLow));
输出:4e 2d 这说明内存中存放的是Unicode,并且高位在前;而在windows上则发现为:2d 4e
2. 常见编码转换相关问题
StringToBytes: 在java中String都是Unicode,转换为bytes主要是高低位存放问题,如果bytes是在java中使用处理则高位在前,如果是在windows使用处理,则相反。
int nHigh = 0xff & (str.charAt(i) >> 8); //高位
int nLow = 0xff & str.charAt(i); //地位
在java中使用处理:
Bytes[i] = nHigh;
Bytes[i+1] = nLow;
反过来,bytesToString也是同样的道理。
但如果bytes中存放的是其他编码数据,可以采用如下方法:
a. 如果datas是utf-8编码的:str = new String(datas,”utf-8”); 注意此时str中存放的是Unicode编码。
b. 如果datas是ansi编码的:str = new String(datas,”gbk”); 注意此时str中存放的是Unicode编码。
3. 关于@符号显示
例如:String str = “@1234”; 在部分手机中会出现显示不出@符号。
解决办法为:
str = String.valueOf(“/u00A9”) + “1234”;
1234g str = ".out.println(str.chat
1. 在Java中,内存存放方式是以Unicode方式进行的,高位在前,与windows中相反。例如:
String str = "中";
for (int i=0; i<str.length(); i++) {
int nHigh = 0xff & (str.charAt(i) >> 8);
int nLow = 0xff & str.charAt(i);
System.out.println(Integer.toHexString(nHigh) + ", " + Integer.toHexString(nLow));
输出:4e 2d 这说明内存中存放的是Unicode,并且高位在前;而在windows上则发现为:2d 4e
2. 常见编码转换相关问题
StringToBytes: 在java中String都是Unicode,转换为bytes主要是高低位存放问题,如果bytes是在java中使用处理则高位在前,如果是在windows使用处理,则相反。
int nHigh = 0xff & (str.charAt(i) >> 8); //高位
int nLow = 0xff & str.charAt(i); //地位
在java中使用处理:
Bytes[i] = nHigh;
Bytes[i+1] = nLow;
反过来,bytesToString也是同样的道理。
但如果bytes中存放的是其他编码数据,可以采用如下方法:
a. 如果datas是utf-8编码的:str = new String(datas,”utf-8”); 注意此时str中存放的是Unicode编码。
b. 如果datas是ansi编码的:str = new String(datas,”gbk”); 注意此时str中存放的是Unicode编码。
3. 关于@符号显示
例如:String str = “@1234”; 在部分手机中会出现显示不出@符号。
解决办法为:
str = String.valueOf(“/u00A9”) + “1234”;
1234g str = ".out.println(str.chat
相关文章推荐
- Java相关编码问题
- Java及相关字符集编码问题研究2
- Java编码相关问题
- Java反转字符串和相关字符编码的问题解决
- Java字符编码的转化问题
- Java及相关字符集编码问题研究
- 经典:Java及相关字符集编码问题研究
- 经典:Java及相关字符集编码问题研究
- JAVA及相关字符集编码问题研究分享
- 经典:Java及相关字符集编码问题研究
- 经典:Java及相关字符集编码问题研究
- [转]Java及相关字符集编码问题研究
- Java及相关字符集编码问题研究
- 经典:Java及相关字符集编码问题研究 之二
- 经典:Java及相关字符集编码问题研究
- Java及相关字符集编码问题研究
- [Java]一个TCP文本上传相关的异常处理和偶然引出的中文编码问题
- Java反转字符串和相关字符编码问题
- JAVA及相关字符集编码问题研究分享
- Java及相关字符集编码问题研究