java中String编码转换 UTF-8转GBK 及 &#x开头,&#开头,\x开头,%开头 转中文

1.GB2312等都可以用GBK代替.
2.new String(row.getBytes("GB2312"), "UTF8") 这种写法是不对的, 中文仍然会乱码.

方案:
解决GBK字符转UTF-8乱码问题: https://www.cnblogs.com/xijin-wu/p/5884822.html

   彻底搞懂编码 GBK 和 UTF8:https://www.cnblogs.com/hehheai/p/6510879.html



复制代码
/**
     * GBK转UTF-8
     * @param gbkStr
     * @return
     */
    public static byte[] getUTF8BytesFromGBKString(String gbkStr) {
        int n = gbkStr.length();
        byte[] utfBytes = new byte[3 * n];
        int k = 0;
        for (int i = 0; i < n; i++) {
            int m = gbkStr.charAt(i);
            if (m < 128 && m >= 0) {
                utfBytes[k++] = (byte) m;
                continue;
            }
            utfBytes[k++] = (byte) (0xe0 | (m >> 12));
            utfBytes[k++] = (byte) (0x80 | ((m >> 6) & 0x3f));
            utfBytes[k++] = (byte) (0x80 | (m & 0x3f));
        }
        if (k < utfBytes.length) {
            byte[] tmp = new byte[k];
            System.arraycopy(utfBytes, 0, tmp, 0, k);
            return tmp;
        }
        return utfBytes;
    }
复制代码

 

 

javascript &#x开头,&#开头,\x开头,%开头 转中文

https://blog.csdn.net/hvang1988/article/details/119972639

 

 
posted @   Peter.Jones  阅读(18673)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验
历史上的今天:
2019-05-20 Maven本地仓库配置的正确姿势(Idea中配置不管用)
点击右上角即可分享
微信分享提示