这种码用java如何生成?感冒了怎么办"\u611f\u5192\u4e86\u600e\u4e48\u529e"

myfamiliar 2012-04-06 10:39:50
应该怎么生成这种码呢?
感冒了怎么办"\u611f\u5192\u4e86\u600e\u4e48\u529e"
...全文
818 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
myfamiliar 2012-05-22
  • 打赏
  • 举报
回复
嗯 谢谢解答.问题已经解决,Integer.toHexString 搞定 还有一点就是要注意错位补零 !
VanBaston 2012-04-10
  • 打赏
  • 举报
回复
String str = "感冒了怎么办";
for(int i = 0, count = str.length(); i < count; i++) {
System.out.print("\\u" + Integer.toHexString((int) str.charAt(i)));
}

这样也可以实现,打出"\u611f\u5192\u4e86\u600e\u4e48\u529e" 东西
VanBaston 2012-04-10
  • 打赏
  • 举报
回复
native2ascii
qybao 2012-04-06
  • 打赏
  • 举报
回复
native2ascii
String s = "\u611f\u5192\u4e86\u600e\u4e48\u529e"; //这样可以直接获得原字符串信息
如果"\u611f\u5192\u4e86\u600e\u4e48\u529e"本身是个字符串,那么需要自己转换
for example
String s = "\\u611f\\u5192\\u4e86\\u600e\\u4e48\\u529e";
s = convertString(s);
System.out.println(s);
String convertString(String srouce) {
String s = source.replaceAll("\\u", "");
StringBuilder buf = new StringBuilder();
for (int i=0; i<s.length; i+4) {
byte[] b = new Byte[2]; //unicode的高位在前在后不知道,LZ自己修改吧
for (int j=0; j<b.length; j++) {
b[j] = Integer.valueOf(s.substring(i+2*j,i+2*j+2)).byteValue();
}
buf.append(new String(b, "UTF-16BE")); //或者UTF-16LE, 就是高位在前在后的问题
}

return buf.toString();
}
oldboymoney 2012-04-06
  • 打赏
  • 举报
回复
jdk的安装文件夹bin下面有个native2ascii.exe可以生成
oldboymoney 2012-04-06
  • 打赏
  • 举报
回复
好像JDK里面有个文件可以生成
lazyfox 2012-04-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
\u611f\u5192\u4e86\u600e\u4e48\u529e這種應該是用jdk的native2ascii這個工具轉的。
[/Quote]

正解!
五哥 2012-04-06
  • 打赏
  • 举报
回复
native2ascii
bichir 2012-04-06
  • 打赏
  • 举报
回复
切网上下一个native2ascii的JAR包可以转换,具体使用网上查
宏Lee 2012-04-06
  • 打赏
  • 举报
回复
用工具就简单多了,直接在myeclipse中建一个.properties,写中文会自动转化
昨日凡阳 2012-04-06
  • 打赏
  • 举报
回复
\u611f\u5192\u4e86\u600e\u4e48\u529e這種應該是用jdk的native2ascii這個工具轉的。
宏Lee 2012-04-06
  • 打赏
  • 举报
回复
你是自己写代码生成还是工具?
myfamiliar 2012-04-06
  • 打赏
  • 举报
回复
自己顶一下
myfamiliar 2012-04-06
  • 打赏
  • 举报
回复
public class EncodeTest {
public static void main(String[] args) throws Exception {
System.out.println(URLDecoder.decode("\u611f\u5192\u4e86\u600e\u4e48\u529e", "GBK"));
System.out.println(java.net.URLEncoder.encode("感冒了怎么办", "utf8"));
}
}

结果:
感冒了怎么办
%E6%84%9F%E5%86%92%E4%BA%86%E6%80%8E%E4%B9%88%E5%8A%9E

这样还是得不到想要的编码形式
znnevergiveup 2012-04-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

用工具就简单多了,直接在myeclipse中建一个.properties,写中文会自动转化
[/Quote]

+1

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧