我想将一个UTF-8的字符串转换为GBK的字符串并且能正常显示怎么弄?

发布于 2022-09-06 19:36:23 字数 133 浏览 19 评论 0

我有一个字符串哈哈,UTF-8格式,需要转化为GBK并且在GBK环境下打印出来还是显示哈哈,怎么弄???
new String(a.getBytes(),"GBK")这种方式根本不行,这是将字符串的字节码转化为GBK不是将字符串转化为GBK...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

御守 2022-09-13 19:36:23

这是将字符串的字节码转化为GBK不是将字符串转化为GBK.

字节才有“GBK”这些概念,字符串只有“字符”的概念,没有具体的编码概念。
编码是一种实现方式,字符是一种抽象概念。

所以,你要“GBK”编码的东西,最终得到的一定是一串字节信息。

获取相关编码的字节序列,就是 getBytes(encode)https://docs.oracle.com/javas...

苦笑流年记忆 2022-09-13 19:36:23

你让String a = "中文" 试一下。

倒数 2022-09-13 19:36:23

什么叫“GBK”环境下?Java内部统一都是Unicode格式存储的,只要你能正确读入,就可以正确打印。

反目相谮 2022-09-13 19:36:23

java是unicode编码,你从文件中读进内存里面就是unicode编码了,转成gbk只需要new String(a.getBytes("GBK"),"GBK")

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文