240716-\u0000和空格的区别

841 阅读2分钟

Unicode编码中**\u0000代表的是空字符,属于控制字符,也叫不可显字符**。
空格的编号是 \u0020

System.out.println("\u0000".length()); //结果是1
System.out.println("".length());       //结果是0

注:\u用于java等语言的字符串中,标识这是Unicode字符

编码历史发展

字符编码的发展历史可以追溯到计算机技术的早期阶段,随着计算机技术的进步和全球化需求的增加,字符编码也经历了多个阶段的演变和发展。

1. 早期字符编码

  • ASCII(美国标准信息交换码)
    • 起源和发展:ASCII最早出现于1960年代初,旨在为计算机和通信设备提供一种标准字符集。它包含了128个字符,包括英文字母、数字、标点符号和控制字符。
    • 局限性:ASCII仅支持英语字符,无法表示其他语言的字符,这在国际化应用中显得十分不足。

2. 多语言字符编码的需求

  • 扩展字符集
    • Latin-1(ISO/IEC 8859-1):为了支持欧洲语言的需要,ISO/IEC 8859-1标准在ASCII的基础上扩展了字符集,增加了支持欧洲主要语言的字符。
    • 其他ISO/IEC 8859系列:随后推出了多个扩展版本,以支持其他语言和地区的字符需求,如ISO/IEC 8859-2(中东欧字符集)、ISO/IEC 8859-5(西里尔字符集)等。

3. Unicode的出现和发展

  • Unicode
    • 起源和发展:由于ASCII和ISO编码的局限性,1991年Unicode标准首次发布。Unicode旨在为全球各种语言的字符提供统一的编码方案,最初包含了几千个字符。
    • 全球化:Unicode的推广促进了软件和互联网的国际化和本地化,使得不同语言的用户可以在同一个平台上交流和工作。

4. 当前的状态和应用

  • Unicode的普及:目前,Unicode已经成为了字符编码的事实标准,支持超过130种现代和古代语言,涵盖了几乎所有书写系统。
  • UTF-8的普及:UTF-8作为Unicode的一种编码方式,被广泛应用于互联网和计算机系统中,它是一种变长编码,可以节省存储空间并支持全球多语言的文字处理。

总结

字符编码的演变历史显示了从最初的ASCII标准到Unicode的全球化解决方案的过程。这一演变反映了计算机技术在全球化和多语言交流需求方面的不断进步和发展,为软件和互联网的全球应用奠定了基础。