作者LPH66 (1597463007)
看板Web_Design
标题Re: [请益] Unicode, UTF-8, UTF-16, UTF-32?
时间Sat Mar 29 21:50:54 2014
※ 引述《x2006 (冬眠)》之铭言:
: Unicode的档案是不是只分为底下五类?
: 00 00 fe ff : UTF-32, Big Endian
: fe ff 00 00 : UTF-32, Little Endian
ff fe 00 00
: fe ff : UTF-16, Big Endian
: ff fe : UTF-16, Little Endian
: ef bb bf : UTF-8
其实名字以 UTF 开头的编码还不只这些, 只是这些相对常用而已
其中最常用的是 UTF-8
UTF-16 也不少见
UTF-32 则比较没什麽看到, 主要还是浪费空间
(一个字占 4 byte, 如果全是英文则有 3/4 的 byte 是 0,
如果是常用中文则有一半是 0,
然後由於 Unicode 只到 U+10FFFF 的关系, 永远至少有 1/4 的 byte 是 0)
: Notepad打开分为底下四类:
: ANSI
: Unicode (就是UTF-16, Little Endian?)
: Unicode big endian (就是UTF-16, Big Endian?)
: UTF-8
以上正确
另外要讲的是 Notepad 所存成的 Unicode 档案都会有 BOM
(就是你上面列的那些 byte)
这会造成一些判断档案开头有没有东西的程式失效或出问题
例如 PHP 程式如果有 BOM 则会先行输出以致於无法更改 header 资讯
: 记得早期在写网页的时候,只用ANSI. XD
: 现在大部分的网页好像都是用UTF-8.
: 有人用UTF-16或UTF-32来写网页的吗?(什麽情况下会用到?)
UTF-32 如上所说比较没什麽在用
UTF-8 胜过 UTF-16 的一点是:
对於纯英文的文字 (也就是只使用 ASCII < 127 的字元的文字)
它自动就是一个正确的 UTF-8 编码文字
这才使得 UTF-8 比 UTF-16 来得常见
在其他方面我觉得其实两者没什麽差就是
---
来搬个前辈的文章出来压阵(?)好了:
每个软体开发者都绝对一定要会的Unicode及字元集必备知识(没有藉口!)
by Joel Spolsky
http://tinyurl.com/cvultt
个人觉得这篇十年前的文章依然有不少地方值得现在的人参考
--
有人喜欢边
玩游戏边
上逼;
也有人喜欢边
听歌边
打字。
但是,我有个请求,
选字的时候请
专心好吗?
-- 改编自「古 火田 任三郎」之开场白
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.195.39.85
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Web_Design/M.1396101057.A.7DE.html
1F:推 x2006:多谢LPH66大大的指点 03/29 22:14
2F:→ x2006:有次看到网页原始码写UTF-16,不知why会这样?希望有高手解答 03/29 22:18
3F:→ s25g5d4:他高兴设为 UTF-16 阿... 也许他真的用到超出 UTF-8 的字 03/29 23:48
4F:推 s25g5d4:我搞混 UTF 跟 UCS 的意思了...囧 03/30 00:05
5F:→ s25g5d4:UTF-8 可以显示所有 Unicode 字元 (但是程式支不支援就..) 03/30 00:05
7F:推 altecjc:这篇文太棒了,之前想找都没找着,谢谢大大分享,大推 03/30 23:14