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个字节,还是其他语种。

  • 相关阅读:
    垃圾收集器
    垃圾收集算法
    JVM内存模型
    工厂方法模式
    类加载机制
    六大设计原则
    单例模式
    HFish开源蜜罐搭建
    利用metasploit复现永恒之蓝
    零信任网络初识
  • 原文地址:https://www.cnblogs.com/ggwow/p/9399567.html
Copyright © 2011-2022 走看看