zoukankan      html  css  js  c++  java
  • 3、UnicodeUTF-8GBK 区别和联系

    字符编码:Unicode和UTF-8之间的关系

    可以参考下面blog:https://blog.csdn.net/xiaolei1021/article/details/52093706/

    这篇文章写得不错

    (1)java中字符为什么是2个字节?

    (2)为什么常说unicode是2个字节?

    (3)UTF-8的中文字符串中,中文一个字可能占2-3个字节,变成char数组时候,为什么char可以存放一个汉字。

    这三个问题其实算是一个问题。

    在JVM中,统一都是用unicode编码的。所以在运行过程中,文字存储下来以后,一个汉字就占了一个字符,2个字节。

    uft-8字符串拆分成char[]时候,会先变成unicode。

    Unicode只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储

    UTF-8是Unicode的实现方式之一。

    UTF-8

    0开头:代表一个字节组成的UTF-8字符

    11开头:代表2个字节组成的UTF-8字符

    111开头:代表3个字节组成的UTF-8字符

    10开头代表的是,一个UTF-8字符串的组成部分,肯定不是开头。

    开头肯定为:0xxxxxxx 、11xxxxxx 、111xxxxx、1111xxxx

    身体肯定为:10xxxxxx

    xxxxxx代表的就是实际的编码内容

    UTF-8相比较Unicode的好处。(这句话其实有点问题)

    Unicode不管是英文还是中文,肯定要占2个字节。

    UTF-8 英文时候只要占1个字节,中文可能2-3个字节,还是其他语种。

  • 相关阅读:
    2、MapStruct 深入理解
    1、MapStruct的应用
    Spring中的注解
    java中的三个内置注解
    依赖注入集合属性
    List Set Map的特点
    为类类型的属性依赖注入值
    java常用专业术语
    Bean的作用域范围
    Bean的生命周期
  • 原文地址:https://www.cnblogs.com/ggwow/p/9399567.html
Copyright © 2011-2022 走看看