zoukankan      html  css  js  c++  java
  • 有关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。
  • 相关阅读:
    [考试反思]0316省选模拟47:偏颇
    [考试反思]0315省选模拟46:执念
    [考试反思]0314省选模拟45:偏离
    [考试反思]0313省选模拟44:习惯
    [考试反思]0310省选模拟42:清醒
    bd-----文本分析
    bigdata7--正则表达式
    bigdata6----vi编辑器
    bigdata4----linux文本操作命令
    bigdata4----linux文件系统命令
  • 原文地址:https://www.cnblogs.com/yzh-blog/p/8976749.html
Copyright © 2011-2022 走看看