请教一下这是什么编码:\xe4\xbf\xa1\xe6\x81\xaf

fands2012 2018-06-28 06:18:50
有个需求需要转码,但是一直不知道这是什么编码:\xe4\xbf\xa1\xe6\x81\xaf
已知该编码对应的中文是:“信息”
请教用java该如何实现中文与这种编码的互转?
...全文
8960 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
a'若然 2021-06-29
  • 打赏
  • 举报
回复

String s tr="\\xe7\\xba\\xbf\\xe4\\xb8\\x8b\\xe5\\xbe\\xae\\xe4\\xbf\\xa1\\xe8\\xbd\\xac\\xe8\\xb4\\xa6".replaceAll("\\\\x", "%");
System.out.println(URLDecoder.decode(str, "UTF-8"));    //转中文
String str2 = URLEncoder.encode("你好", "UTF-8");
String replace = str2.toLowerCase().replace("%", "\\x");
System.out.println(replace);                       //转编码

fands2012 2018-06-29
  • 打赏
  • 举报
回复
多谢oyljerry,确实是utf8编码,把\x替换为%号,通过URLDecoder.decode方法就能直接转换回中文了。比如:
String s = "\\xe8\\xbd\\xa6\\xe9\\x99\\xa9".replaceAll("\\\\x", "%");
System.out.println(URLDecoder.decode(s, "UTF-8"));
oyljerry 2018-06-28
  • 打赏
  • 举报
回复
utf8编码,字符串对应编码转换一下就可以生成
fands2012 2018-06-28
  • 打赏
  • 举报
回复
@QWERT4745,楼上的兄弟,你提供的十六进制和文本在线转化工具确实是可以把编码字符串转化成中文,但是用你提供的十六进制和字符串的转化代码做测试,先把中文转换成十六进制,比如:把汉字“信息”转换成十六进制是:6dc721034f05

然后在在线转换工具中把转换结果再转换成中文,结果显示是乱码。

请问应该做怎样的转换才能成功呢?
QWERT4745 2018-06-28
  • 打赏
  • 举报
回复 7

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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