编程中用到的字符编码知识点

💡 原文中文,约8200字,阅读约需20分钟。
📝

内容提要

字符集是一组字符的集合,字符编码是字符集的具体编码规则。ASCII字符集是计算机使用的基本字符集,包含128个字符。Unicode字符集是国际组织制定的字符集方案,可以收纳世界上所有文字和符号。UTF-8是一种可变长度的字符编码方式,常用于前端开发。UTF-16是定长的编码方式,每个字符占2或4个字节。

🎯

关键要点

  • 字符集是字符的集合,字符编码是字符集的编码规则。
  • ASCII字符集包含128个字符,主要用于英文显示。
  • Unicode字符集可以收纳世界上所有文字和符号,最多可有1114112个字符。
  • UTF-8是可变长度的字符编码方式,常用于前端开发,汉字一般占3个字节。
  • UTF-16是定长编码方式,基本字符占用2个字节,辅助字符占用4个字节。
  • Javascript源码文本通常基于UTF-8编码,但字符串类型采用UTF-16编码。
  • 字符集的发展历程是基于对ASCII字符集的扩展。
  • Unicode使用码点来表示字符,码点以U+hex形式表示。
  • UTF-8编码规则包括1到4个字节的变长编码。
  • UTF-16编码需要利用特定码位来编码辅助平面的字符。
  • 字符串长度计算时,UTF-16的码元个数决定length属性的值。
  • 组合字符和多码元字符在处理时需特别注意。
  • ES6引入u修饰符以正确处理大于U+FFFF的Unicode字符。
  • 常用API包括charAt、charCodeAt、codePointAt等,用于处理Unicode编码。
  • TextEncoder和TextDecoder用于UTF-8编码和解码。
  • normalize()方法用于统一不同表示的字符形式。
  • JavaScript提供encodeURI和encodeURIComponent用于URL的UTF-8编解码。
➡️

继续阅读