• 有关Java字符集编码的问题


    在Java语言中,下列关于字符集编码(Character set encoding)和国际化(i18n)的问题,哪些是正确的?

      A.每个中文字符占用2个字节,每个英文字符占用1个字节

      B.假设数据库中的字符是以GBK编码的,那么显示数据库数据的网页也必须是GBK编码的。

      C.Java的char类型,通常以UTF-16 Big Endian的方式保存一个字符。

      D.实现国际化应用常用的手段是利用ResourceBundle类

    答案:CD

    解析:

    A 显然是错误的,Java一律采用Unicode编码方式,每个字符无论中文还是英文字符都占用2个字节。
    Java的class文件编码为UTF-8,而虚拟机JVM编码为UTF-16
    UTF-8编码下,一个中文占3个字节,一个英文占1个字节
    B 也是不正确的,不同的编码之间是可以转换的,通常流程如下:
    将字符串S以其自身编码方式分解为字节数组,再将字节数组以你想要输出的编码方式重新编码为字符串。
    例:String newUTF8Str = new String(oldGBKStr.getBytes("GBK"), "UTF8");
    C 是正确的。Java虚拟机中通常使用UTF-16的方式保存一个字符
    D 也是正确的。ResourceBundle能够依据Local的不同,选择性的读取与Local对应后缀的properties文件,以达到国际化的目的。
     
    综上所述,答案是  C 和 D。
  • 相关阅读:
    1062 Talent and Virtue (25 分)
    1083 List Grades (25 分)
    1149 Dangerous Goods Packaging (25 分)
    1121 Damn Single (25 分)
    1120 Friend Numbers (20 分)
    1084 Broken Keyboard (20 分)
    1092 To Buy or Not to Buy (20 分)
    数组与链表
    二叉树
    时间复杂度与空间复杂度
  • 原文地址:https://www.cnblogs.com/yzh-blog/p/8976749.html
Copyright © 2020-2023  润新知