`

java反国际化

 
阅读更多
    public static String fromEncodedUnicode(char[] in, int off, int len) {
        char aChar;
        char[] out = new char[len]; // 只短不长
        int outLen = 0;
        int end = off + len;
        while (off < end) {
            aChar = in[off++];
            if (aChar == '\\') {
                aChar = in[off++];
                if (aChar == 'u') {
                    // Read the xxxx
                    int value = 0;
                    for (int i = 0; i < 4; i++) {
                        aChar = in[off++];
                        switch (aChar) {
                            case '0':
                            case '1':
                            case '2':
                            case '3':
                            case '4':
                            case '5':
                            case '6':
                            case '7':
                            case '8':
                            case '9':
                                value = (value << 4) + aChar - '0';
                                break;
                            case 'a':
                            case 'b':
                            case 'c':
                            case 'd':
                            case 'e':
                            case 'f':
                                value = (value << 4) + 10 + aChar - 'a';
                                break;
                            case 'A':
                            case 'B':
                            case 'C':
                            case 'D':
                            case 'E':
                            case 'F':
                                value = (value << 4) + 10 + aChar - 'A';
                                break;
                            default:
                                throw new IllegalArgumentException(
                                        "Malformed \\uxxxx encoding.");
                        }
                    }
                    out[outLen++] = (char) value;
                } else {
                    if (aChar == 't') {
                        aChar = '\t';
                    } else if (aChar == 'r') {
                        aChar = '\r';
                    } else if (aChar == 'n') {
                        aChar = '\n';
                    } else if (aChar == 'f') {
                        aChar = '\f';
                    }
                    out[outLen++] = aChar;
                }
            } else {
                out[outLen++] = (char) aChar;
            }
        }
        return new String(out, 0, outLen);
    }


    public static void main(String[] args) {
        String str = "\"reason\":\"570188\\u4eba\\u5728\\u8bfb\"";
        System.out.println("str=" + str);
        String result = fromEncodedUnicode(str.toCharArray(), 0, str.length());
        System.out.println(result);
    }



  • 大小: 13.2 KB
分享到:
评论

相关推荐

    Java反序列化安全漏洞防控

    Java反序列化安全漏洞是一种严重的安全威胁,它主要发生在Java程序处理序列化数据时。序列化是Java中的一种机制,可以将对象状态转换为字节流,以便存储或传输。反序列化则是将字节流恢复为Java对象的过程。 在Java...

    java反编译程序,国际大奖

    "java反编译程序,国际大奖"这个标题暗示了我们讨论的是一个在国际上获得认可的优秀Java反编译工具。这类工具通常具有高效、准确地将字节码转换为可读性强的源代码的能力,这对于开发者调试、学习开源库或者分析恶意...

    国际化与反编译插件与配置

    java国际化与反编译插件与配置,非常方便的反编译插件,内附详细说明

    Java 反编码软件

    - 解决在国际化(i18n)项目中,多语言字符集的处理问题。 总的来说,Java反编码软件是Java开发者必备的工具之一,它简化了编码问题的处理,提高了开发效率,确保了软件的稳定性和兼容性。使用前,用户应详细阅读...

    Java国际认证SCJP典型试题1000例(中文版).rar

    7. **输入/输出流**:熟悉I/O流的概念,包括字节流和字符流,以及文件操作、对象序列化和反序列化。 8. **异常处理**:了解异常的分类,如何捕获和处理异常,以及自定义异常的使用。 9. **Java反射API**:学习如何...

    一个不错的国际化文件反转插件

    在IT行业中,国际化(i18n)是一个重要的议题,特别是在软件开发中。为了使软件能够适应不同国家和地区的语言需求,开发者需要采用国际化的策略。"一个不错的国际化文件反转插件"是一个专为此目的设计的工具,尤其...

    Java8/java1.8的tools.jar

    6. **国际化工具**:如`native2ascii`,用于处理本地化资源。 7. **调试工具**:如`jdb`,提供了一个命令行调试器,帮助开发者调试Java应用程序。 8. **其他工具**:还包括性能分析工具,如`jmap`、`jhat`、`...

    java局域网游戏--国际象棋

    - **数据传输**:使用ObjectOutputStream和ObjectInputStream实现对象的序列化和反序列化,以便在网络间传递游戏状态。 3. **图形用户界面(GUI)** - **Swing或JavaFX**:Java提供这两个库来构建游戏界面,展示...

    JAVA图形化界面实现学生成绩的录入与管理

    在JAVA编程领域,开发图形化用户界面(GUI)是创建应用程序与用户交互的重要方式。...在实际项目中,还可能涉及到权限控制、数据验证、多线程、国际化等更高级的主题,但以上内容已经涵盖了基本的GUI开发流程。

    JAVA常用API文档 中文完整版.zip

    在Java API文档中,我们可以找到关于Java语言的基本类、集合框架、网络编程、多线程、I/O流、反射、异常处理、国际化、日期时间、XML处理等多个领域的详细说明。以下是一些关键知识点的概述: 1. **基础类与接口**...

    Escape.java_java_

    9. **国际化(I18N)与本地化(L10N)**: 如果`Escape.java`设计用于处理多语言环境,它可能包含了处理不同地区字符编码的逻辑。 10. **标准库与第三方库**: 考虑到Java的标准库(如`java.nio.charset`包)已经提供...

    java api 中文版

    7. **国际化**:java.text和java.util包提供了国际化和本地化功能,例如NumberFormat用于格式化数字,DateFormat处理日期和时间,ResourceBundle管理不同地区的资源。 8. **XML处理**:DOM(文档对象模型)和SAX...

    JAVA API字典

    8. **国际化与本地化**:java.util.Locale类支持国际化的文本、日期和数字格式。ResourceBundle类则用于加载不同地区的特定资源。 9. **数据库连接**:Java Database Connectivity (JDBC) API允许Java程序与各种...

    java_API16

    9. **国际化和本地化**:java.text和java.util包提供了日期/时间格式化、数字格式化以及资源包管理,支持不同地区的语言和文化习惯。 10. **安全管理**:Java 1.6增强了安全管理模型,通过Policy文件和Access...

    ANS.1 介绍文档,JAVA代码样例,JAR包

    开发者可以通过编写Java代码来实现对ANS.1数据的序列化和反序列化。这通常涉及到以下步骤: 1. **序列化**: 将Java对象转换为ANS.1编码的字节流。这包括将对象的属性映射到ANS.1数据类型,并按照ANS.1的规则进行...

    java-异样记事本

    8. **国际化与本地化**: 如果记事本应用打算面向全球用户,那么就需要考虑多语言支持。Java的ResourceBundle类和Locale对象可以帮助我们实现这一功能。 9. **单元测试与集成测试**: 使用JUnit或其他测试框架对...

    Java开发工具(eclipse)

    - Eclipse支持多语言环境,开发者可以轻松地创建和管理国际化资源文件。 总结起来,Eclipse作为Java开发的主流工具,其强大在于它的灵活性、扩展性和高效的开发体验。无论你是新手还是资深开发者,Eclipse都能提供...

    java io.pdf

    10. **国际化和本地化**:Java的Locale类和ResourceBundle类支持多语言环境下的I/O操作,允许根据用户的地区设置显示相应的文本。 Java IO的强大在于其灵活性和可扩展性,能够处理各种类型的数据源和目标,同时提供...

Global site tag (gtag.js) - Google Analytics