iso 8859 1和utf 8有什麼不同

2021-06-28 19:35:02 字數 1659 閱讀 8423

charset=iso-8859-1是西歐的編碼,代表說明**是採用的編碼是英文;

charset=gb2312代表說明**是採用的編碼是簡體中文;

charset=utf-8代表世界通用的語言編碼;

charset=big5代表說明**是採用的編碼是正體中文;

charset=euc-kr代表說明**是採用的編碼是韓文;

......等等有很多編碼。

最常用到的是charset=gb2312、charset=iso-8859-1和charset=utf-8

charset=utf-8這個編碼可以用到中文、韓文、日文等世界上所有語言編碼上。

下面講講這幾個的區別:

字符集與編碼

各個國家和地區所制定的不同 ansi 編碼標準中,都只規定了各自語言所需的「字元」。比如:漢字標準(gb2312)中沒有規定南韓語字元怎樣儲存。這些 ansi 編碼標準所規定的內容包含兩層含義:

1. 使用哪些字元。也就是說哪些漢字,字母和符號會被收入標準中。所包含「字元」的集合就叫做「字符集」。

2. 規定每個「字元」分別用乙個位元組還是多個位元組儲存,用哪些位元組來儲存,這個規定就叫做「編碼」。

各個國家和地區在制定編碼標準的時候,「字元的集合」和「編碼」一般都是同時制定的。因此,平常我們所說的「字符集」,比如:gb2312, gbk, jis 等,除了有「字元的集合」這層含義外,同時也包含了「編碼」的含義。

「unicode 字符集」包含了各種語言中使用到的所有「字元」。用來給 unicode 字符集編碼的標準有很多種,比如:utf-8, utf-7, utf-16, unicodelittle, unicodebig 等。

1、iso-8859-1:

最簡單的編碼規則,每乙個位元組直接作為乙個 unicode 字元。比如,[0xd6, 0xd0] 這兩個位元組,通過 iso-8859-1 轉化為字串時,將直接得到 [0x00d6, 0x00d0] 兩個 unicode 字元,即 "öð"。

反之,將 unicode 字串通過 iso-8859-1 轉化為位元組串時,只能正常轉化 0~255 範圍的字元。

2、gb2312,big5,shift_jis,iso-8859-2

把 unicode 字串通過 ansi 編碼轉化為「位元組串」時,根據各自編碼的規定,乙個 unicode 字元可能轉化成乙個位元組或多個位元組。

反之,將位元組串轉化成字串時,也可能多個位元組轉化成乙個字元。比如,[0xd6, 0xd0] 這兩個位元組,通過 gb2312 轉化為字串時,將得到 [0x4e2d] 乙個字元,即 '中' 字。

「ansi 編碼」的特點:

1. 這些「ansi 編碼標準」都只能處理各自語言範圍之內的 unicode 字元。

2. 「unicode 字元」與「轉換出來的位元組」之間的關係是人為規定的。

3、utf-8,utf-16,unicodebig

與「ansi 編碼」類似的,把字串通過 unicode 編碼轉化成「位元組串」時,乙個 unicode 字元可能轉化成乙個位元組或多個位元組。

與「ansi 編碼」不同的是:

1. 這些「unicode 編碼」能夠處理所有的 unicode 字元。

2. 「unicode 字元」與「轉換出來的位元組」之間是可以通過計算得到的。

如何相互轉換呢?

最好用記事本開啟檔案,修改字元編碼為utf-8,然後另存為,選擇編碼為utf-8。

utf8 和 UTF 8 有什麼區別

utf 8 是標準寫法,在windows下邊英文不區分大小寫,所以也可以寫成 utf 8 utf 8 也可以把中間的 省略,寫成 utf8 一般程式都能識別,但也有例外 如下文 為了嚴格一點,最好用標準的大寫 utf 8 在mysql資料庫中只能使用 utf8 在mysql的命令模式中只能使用 ut...

utf8 和 UTF 8 有什麼區別

utf 8 是標準寫法,在windows下邊英文不區分大小寫,所以也可以寫成 utf 8 utf 8 也可以把中間的 省略,寫成 utf8 一般程式都能識別,但也有例外 如下文 為了嚴格一點,最好用標準的大寫 utf 8 在mysql資料庫中只能使用 utf8 在mysql的命令模式中只能使用 ut...

utf8 utf 8和UTF 8有什麼區別

utf 8 是標準寫法,在windows下邊英文不區分大小寫,所以也可以寫成 utf 8 utf 8 也可以把中間的 省略,寫成 utf8 一般程式都能識別,但也有例外 如下文 為了嚴格一點,最好用標準的大寫 utf 8 b 在mysql資料庫中只能使用 utf8 b 在mysql的命令模式中只能使...