首页 > 学院 > 开发设计 > 正文

返回中文unicode的byte字符串

2019-11-18 13:54:59
字体:
来源:转载
供稿:网友

  返回中文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;
}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表