|
|
| 返回中文unicode的byte字符串 |
作者:
文章来源:
访问次数:211次
加入时间:2006年07月19日
|
|
工作中需要这样的功能,下面是实现代码,比如输入“朋友”,输出/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; }
|
|
|