- From: Ben Luo <benluo@gmail.com>
- Date: Mon, 9 May 2011 12:12:26 +0800
- 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