SlideShare a Scribd company logo
1 of 14
Charset & Encoding fahai [at] TaobaoUED
a
character set
encoding
for ASCII Charset - 码点是 0x61(位于第 97 个位置) Encoding - 可以用单字节 0x61 来代表码点 0x61
Unicode – Since 1991
Encodings in Unicode UTF-32 – 定长。编码每个码点,用 4 个字节,因此可以在 U+0000 和 U+FFFFFFFF 之间对任何码点编码。 UTF-16 – 变长,但通常看起来像一个定长编码。UTF-16 对于大多数字符也使用 2 个字节,但在 U+D800 和 U+DFFF 之间。 UTF-8 – 变长,使用 1 到 4 个字节来为码点编码,而且能够编码介于 U+0000 和 U+0FFFF 之间的码点。
Byte Order Mark 字节顺序标记(BOM) 出现在 Unicode 流开端,说明编码类型。
UTF-8
Unicode 8-bit 节省空间。 和 ASCII 完全兼容。 将一组码点编码成字节流。
UTF-8 in App 编辑时,将页面保存为 UTF-8 格式的。 告诉浏览器页面是如何编码的:set header or set meta。
Reference 《构建可扩展的 Web 站点》
Thanks

More Related Content

More from Pu Shiming

Gitlab - the new workbench (2nd edition)
Gitlab - the new workbench (2nd edition)Gitlab - the new workbench (2nd edition)
Gitlab - the new workbench (2nd edition)Pu Shiming
 
LeSS in action
LeSS in actionLeSS in action
LeSS in actionPu Shiming
 
Pagelet in action
Pagelet in actionPagelet in action
Pagelet in actionPu Shiming
 
Rendering in browser
Rendering in browserRendering in browser
Rendering in browserPu Shiming
 
Mars attack 2011-04-15
Mars attack 2011-04-15Mars attack 2011-04-15
Mars attack 2011-04-15Pu Shiming
 
Mars attack 2010-07-16
Mars attack 2010-07-16Mars attack 2010-07-16
Mars attack 2010-07-16Pu Shiming
 
Encoding in javascript
Encoding in javascriptEncoding in javascript
Encoding in javascriptPu Shiming
 
Mars attack 2010-07-30
Mars attack 2010-07-30Mars attack 2010-07-30
Mars attack 2010-07-30Pu Shiming
 

More from Pu Shiming (9)

Gitlab - the new workbench (2nd edition)
Gitlab - the new workbench (2nd edition)Gitlab - the new workbench (2nd edition)
Gitlab - the new workbench (2nd edition)
 
LeSS in action
LeSS in actionLeSS in action
LeSS in action
 
Dpl in action
Dpl in actionDpl in action
Dpl in action
 
Pagelet in action
Pagelet in actionPagelet in action
Pagelet in action
 
Rendering in browser
Rendering in browserRendering in browser
Rendering in browser
 
Mars attack 2011-04-15
Mars attack 2011-04-15Mars attack 2011-04-15
Mars attack 2011-04-15
 
Mars attack 2010-07-16
Mars attack 2010-07-16Mars attack 2010-07-16
Mars attack 2010-07-16
 
Encoding in javascript
Encoding in javascriptEncoding in javascript
Encoding in javascript
 
Mars attack 2010-07-30
Mars attack 2010-07-30Mars attack 2010-07-30
Mars attack 2010-07-30
 

Charset and encoding

  • 1.
  • 2. Charset & Encoding fahai [at] TaobaoUED
  • 3. a
  • 6. for ASCII Charset - 码点是 0x61(位于第 97 个位置) Encoding - 可以用单字节 0x61 来代表码点 0x61
  • 8. Encodings in Unicode UTF-32 – 定长。编码每个码点,用 4 个字节,因此可以在 U+0000 和 U+FFFFFFFF 之间对任何码点编码。 UTF-16 – 变长,但通常看起来像一个定长编码。UTF-16 对于大多数字符也使用 2 个字节,但在 U+D800 和 U+DFFF 之间。 UTF-8 – 变长,使用 1 到 4 个字节来为码点编码,而且能够编码介于 U+0000 和 U+0FFFF 之间的码点。
  • 9. Byte Order Mark 字节顺序标记(BOM) 出现在 Unicode 流开端,说明编码类型。
  • 10. UTF-8
  • 11. Unicode 8-bit 节省空间。 和 ASCII 完全兼容。 将一组码点编码成字节流。
  • 12. UTF-8 in App 编辑时,将页面保存为 UTF-8 格式的。 告诉浏览器页面是如何编码的:set header or set meta。