国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

JavaScript字符集編碼與解碼詳談

2024-05-06 16:34:55
字體:
來源:轉載
供稿:網友

一、javascript/36050.html">字符集

1)字符與字節(Character)

字符是各種文字和符號的總稱,包括亂碼;一個字符對應1~n個字節,一字節對應8位,每位用0或1表示。

2)字符集(Character Set)

字符集是多個字符的集合,每個字符集包含的字符個數不同,常見字符集名稱:ASCII字符集、GB2312字符集、Unicode字符集等。

3)字符集編碼(Character Encoding)

字符集編碼就是將符號轉換為計算機可讀的二進制,解碼就是把二進制轉換為人類可讀的符號。

字符集大多對應一種編碼方式(例如GBK對應GBK編碼),但Unicode編碼有多種,包括UTF-8、UTF-16、UTF-32和UTF-7。

目前網頁用的最多的就是“UTF-8”,UTF-8使用一至四個字節為每個字符編碼,是ASCII的一個超集,所以現存的ASCII文本不需要轉換

二、瀏覽器進制

1)HTML屬性中使用十進制和十六進制

十進制在HTML中可使用“8”,十六進制,則使用“Z”,比十進制多了個x,進制碼中也多了a~f這6個字符來表示10~15。

2)CSS屬性中使用十進制和十六進制

CSS兼容HTML的進制形式,除此之外,十六進制還可以使用“/6c”的形式來表示。

3)JavaScript編碼封裝

可以直接通過eval執行字符串八進制和十六進制兩種編碼方式,其中八進制用“/56”表示,十六進制用“/x5c”表示。

如果代碼中應用了漢字并且需要進行進制編碼,那么只能進行十六進制Unicode編碼,其表示形式為:“/u4ee3/u7801”。

在“Web前端黑客技術揭秘”中經封裝了兩個方法來做編碼和解碼,主要用到了下面兩個方法,具體代碼可查看此處。

核心代碼是:“str.charCodeAt(char).toString(進制)”與“String.fromCharCode(parseInt(code,進制))”

charCodeAt() 方法返回0到65535之間的整數,表示給定索引處的UTF-16代碼單元

靜態String.fromCharCode() 方法返回使用指定的Unicode值序列創建的字符串。

還可以通過一個在線網頁進行編碼解碼“MonyerJS”。

4)HTML自動解碼機制

例如在網頁中輸入16進制的“Hello”,自動就會解碼為“hello”。

還有一些比較熟知的空格“ ”也是這種機制。

三、瀏覽器編碼

JavaScript中有三對可以對字符串編碼解碼的函數,分別是:

escape/unescape、encodeURI/decodeURI、encodeURIComponent/decodeURIComponent。

主要的區別還是不編碼的字符個數。

1)escape不編碼的字符有69個

*、+、-、.、/、@、_、0~9、a~z、A~Z而且escape對0~255以外的unicode值進行編碼時輸出%u****格式。

2)encodeURI不編碼的字符有82個

!、#、$、&、'、(、)、*、+、,、-、.、/、:、;、=、?、@、_、~、0~9、a~z、A~Z

3)encodeURIComponent不編碼的字符有71個

!、'、(、)、*、-、.、_、~、0~9、a~z、A~Z


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东乌珠穆沁旗| 中牟县| 盘锦市| 滕州市| 县级市| 临汾市| 灌阳县| 大同县| 宜良县| 右玉县| 岑巩县| 上虞市| 惠东县| 阳东县| 石首市| 卓资县| 出国| 八宿县| 拉萨市| 平原县| 河北省| 贵德县| 屏山县| 大冶市| 满城县| 浏阳市| 嘉黎县| 伊宁县| 温州市| 泗水县| 剑河县| 高陵县| 东乡| 碌曲县| 磴口县| 康马县| 阿瓦提县| 三原县| 普兰县| 天峻县| 兴和县|