java 将字符串中含有 unicode 转成中文

原创 java

调用第三方 API 的时候,返回结果中把中文转成了 Unicode 的方式,我需要拿结果去展示,当然不能直接展示 Unicode 码。

然后写了一个小工具,把字符串中包含的中文 Unicode 码转换成中文显示。

package com.daimafans.unit;

import org.junit.Test;

public class UnicodeTest
{
    private String ascii2native(String asciicode)
    {

        String[] asciis = asciicode.split("\\\\u");
        StringBuilder nativeValue = new StringBuilder(asciis[0]);
        try
        {
            for (int i = 1; i < asciis.length; i++)
            {
                String code = asciis[i];
                nativeValue.append((char) Integer.parseInt(code.substring(0, 4), 16));
                if (code.length() > 4)
                {
                    nativeValue.append(code.substring(4, code.length()));
                }
            }
        }
        catch (NumberFormatException e)
        {
            return asciicode;
        }
        return nativeValue.toString();
    }

    @Test
    public void testUnicode()
    {
        String unicode = "who are you? \\u4ee3\\u7801\\u996dwww.daimafans.COM";
        System.out.println("" + ascii2native(unicode));
    }
}

测试结果正常!

如果觉得这对你有用,请随意赞赏,给与作者支持
评论 0
最新评论