新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
字符集和編碼區(qū)別以及HTML/JS/CSS實(shí)體字符的表示
1.字符集/字符編碼是什么?
字符集或者說(shuō)字符編碼就是給字符定義了數(shù)值編號(hào)以及數(shù)值編號(hào)存儲(chǔ)格式。
成都創(chuàng)新互聯(lián)公司是一家專(zhuān)業(yè)提供宜都企業(yè)網(wǎng)站建設(shè),專(zhuān)注與網(wǎng)站建設(shè)、成都網(wǎng)站制作、HTML5建站、小程序制作等業(yè)務(wù)。10年已為宜都眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)的建站公司優(yōu)惠進(jìn)行中。
嚴(yán)格來(lái)說(shuō)字符集和字符編碼是兩個(gè)概念: charset 是 character set 的簡(jiǎn)寫(xiě),即字符集。 encoding 是 charset encoding 的簡(jiǎn)寫(xiě),即字符集編碼,簡(jiǎn)稱(chēng)編碼。 字符集:定義了每個(gè)字符對(duì)應(yīng)的二進(jìn)制數(shù)值關(guān)系,也就是給字符定義了一個(gè)數(shù)值編號(hào)。 字符編碼:定義了該數(shù)值怎么存儲(chǔ)(用幾個(gè)字節(jié)來(lái)表示,數(shù)值二進(jìn)制格式(有無(wú)特定標(biāo)示))。 但有時(shí)候又可以認(rèn)為是同一個(gè)意思:因?yàn)槲ㄒ粚?duì)應(yīng)。 比如:ASCII、IOS-8859-1、GB2312、GBK等等既是字符集又是字符編碼。 不是同一個(gè)意思情況:一個(gè)字符集對(duì)應(yīng)多個(gè)實(shí)現(xiàn)形式。 比如Unicode只是字符集,對(duì)應(yīng)的字符編碼卻有多個(gè): UTF-8、UTF-16、UTF-32 。 補(bǔ)充:
因?yàn)闅v史原因,最初是一一對(duì)應(yīng)可以看成一個(gè)意思,后來(lái)出現(xiàn)一對(duì)情況拆分兩個(gè)意思,
所以有些地方認(rèn)為是一個(gè)意思,有些不這樣認(rèn)為,存在混淆,得自己明辨是非。 比如:charset也表示字符編碼的意思。 在 html中用charset指定字符集: "UTF-8"> 準(zhǔn)確來(lái)說(shuō)UTF-8是字符編碼。 而在xml中用encoding表示字符編碼顯得更加嚴(yán)緊: "1.0" encoding="UTF-8"?> 實(shí)際我們只要關(guān)心字符編碼,因?yàn)橛伤鼪Q定存取和傳輸?shù)母袷健? 值注意:關(guān)于Unicode的多重意思。 (1)Unicode 標(biāo)準(zhǔn) (2)Unicode 字符集 (3)Unicode 的抽象編碼(編號(hào)),也即碼點(diǎn)(code point) (4)Unicode 的一個(gè)具體編碼實(shí)現(xiàn),通常即為變長(zhǎng)的 UTF-16(16 或 32 位),又或者是更早期的定長(zhǎng) 16 位的 UCS-2 特別注意java中編碼的問(wèn)題?。?1.常說(shuō)的java采用Unicode編碼,用兩個(gè)字節(jié)表示字符。 這里的Unicode編碼的意思是用定長(zhǎng)UTF-16字符編碼,也就是運(yùn)行時(shí)內(nèi)存中一個(gè)字符用兩個(gè)字節(jié)存儲(chǔ)。
2.有時(shí)候說(shuō)java默認(rèn)是UTF-8編碼.
其實(shí)說(shuō)的是jvm默認(rèn)編碼是UTF-8,
該編碼默認(rèn)用處:字符和字節(jié)數(shù)據(jù)組的轉(zhuǎn)換,io流轉(zhuǎn)換。
如果沒(méi)有設(shè)置jvm默認(rèn)編碼,那么默認(rèn)使用操作系統(tǒng)的編碼。
也可以自己更改jvm的編碼:更改JVM參數(shù)-Dfile.encoding=UTF-8。
當(dāng)前文章:字符集和編碼區(qū)別以及HTML/JS/CSS實(shí)體字符的表示
網(wǎng)站路徑:http://www.dlmjj.cn/article/dsojeoh.html