W3C home > Mailing lists > Public > public-html-ig-zh@w3.org > May 2011

Re: 字符编码

From: Ben Luo <benluo@gmail.com>
Date: Mon, 9 May 2011 12:12:26 +0800
Message-ID: <BANLkTik=Pg2paon04QfAq1f7-OJ+m17Rww@mail.gmail.com>
To: Timothy Chien <timdream@gmail.com>
Cc: public-html-ig-zh@w3.org
当然这和 html5 无关,只是好奇,为什么JS只规定内部编码,不规定文件编码,毕竟JS不是凭空生产的。

2011/5/9 Timothy Chien <timdream@gmail.com>:
> <script type="text/javascript" src="script.js" charset="utf-8" ></script>
>
> 根據 HTML4 標準設定 charset 屬性
> http://www.w3.org/TR/html401/interact/scripts.html#edef-SCRIPT
>
> 不過我不知道哪家瀏覽器吃就是了。
>
> 最保險的做法是保持和引用的 HTML 同樣的 encoding,
> 或是只要用到 ASCII 以外的字元通通用 \x12ab 來表示。
> (寫 script 也不該出現那些介面用文字,介面字串資源和程式應該要分開)
>
> 2011/5/9 Ben Luo <benluo@gmail.com>:
>> 那也就是说 browser 在载入js文件的时候会自动转换成 UCS-2?它是怎么自动判断文件本身的编码呢?
>>
>> 2011/5/9 Timothy Chien <timdream@gmail.com>:
>>> 那是記憶體內部處理文字的標準吧?與檔案的編碼無關。
>>> 意思是說,
>>>
>>> ('字').charCodeAt(0)
>>>
>>> 會傳回 UCS-2 code point。
>>>
>>>
>>> 不過後果就是 UCS-2 塞不進去的 Unicode code point,像是 Ext-B 的漢字,
>>> 在 Javascript 裡面會被拆成兩個字元,這時要找到真正的 Unicode code point 就要把兩個字元的字碼都讀出來處理:
>>>
>>> https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/charCodeAt#Example_2.3a_Fixing_charCodeAt_to_handle_non-Basic-Multilingual-Plane_characters_if_their_presence_earlier_in_the_string_is_unknown
>>>
>>> 算是在電腦文字處理發展史上,在節省記憶體 vs 容納所有字元之間目前大家選擇的界線。
>>
>
Received on Monday, 9 May 2011 04:13:13 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:43:48 UTC