返回中文unicode的byte字符串

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

返回中文unicode的byte字符串

工作中需要这样的功能,下面是实现代码,比如输入“朋友”,输出/u0b67/UCb53

public class UnicodeByteUtil {

public static void main(String[] args) {

UnicodeByteUtil instance = new UnicodeByteUtil();

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

String line;

try {

while ((line = reader.readLine()) != null) {

if (line.trim().equals("q")) System.exit(0);

String s = instance.getBytes(line);

System.out.println("bytes:" + s);

//System.out.println("line:"+);

}

} catch (IOException e) {

e.printStackTrace();

}

}

String getBytes(String s) {

try {

StringBuffer out = new StringBuffer("");

byte[] bytes = s.getBytes("unicode");

for (int i = 2; i < bytes.length; i++) {

out.append("\\u");

String str = Integer.toHexString(bytes[i+1] & 0xff);

for (int j = str.length(); j < 2; j++) {

out.append("0");

}

out.append(str1);

}

return out.toString();

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

return null;

}

}

}

作者Blog:http://blog.csdn.net/superlmj/

相关文章

返回中文unicode的byte字符串

根据BOM获得实际encoding返回相应Reader

系统寻找XML解析器的顺序

字节码工程库简介

[转载]利用 JAXB 通过 XML 模式生成 XML 文档

对该文的评论

zhwxsytia ( 2005-01-27)

我试了一下?o应该把String getbyes(string s) 方法改为如下才可以?o否则错误

try {

StringBuffer out = new StringBuffer("");

byte[] bytes = s.getBytes("unicode");

for (int i = 2; i < bytes.length-1; i+=2) {

out.append("\\u");

String str = Integer.toHexString(bytes[i+1] & 0xff);

for (int j = str.length(); j < 2; j++) {

out.append("0");

}

String str1 = Integer.toHexString(bytes[i] & 0xff);

out.append(str);

out.append(str1);

}

return out.toString();

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

return null;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航