文字の符号化の問題

1891 ワード

charset=iso-8859-1とcharset=gb 2312の違いは何ですか?
2009年09月19日土曜日10:09
charset=iso-8859-1は西欧の符号化であり、ウェブサイトが採用している符号化が英語であることを示している.
charset=gb 2312代表は、ウェブサイトが採用しているコードが簡体字中国語であることを説明する.
charset=utf-8は世界共通の言語符号化を表す.
charset=big 5は、ウェブサイトが採用しているコードが繁体字中国語であることを示しています.
charset=euc-kr代表は、ウェブサイトが採用しているコードが韓国語であることを説明します.
......などコードがたくさんあります.
最もよく使われるのはcharset=gb 2312、charset=iso-8859-1、charset=utf-8です
charset=utf-8この符号化は、中国語、韓国語、日本語など世界のすべての言語で符号化することができる.
以下、これらの違いについて説明します.
文字セットと国や地域によって定められた異なるANSI符号化規格では,それぞれの言語に必要な「文字」のみが規定されている.例えば、漢字規格(GB 2312)には、韓国語の文字をどのように記憶するかが規定されていない.これらのANSI符号化規格に規定する内容は、2つの意味を含む:1.どの文字を使用しますか.つまり、どの漢字がアルファベットや記号で標準に入るのかということです.「文字」が含まれている集合を「文字セット」と呼びます.2.各「文字」がそれぞれ1バイトまたは複数バイトで格納され、どのバイトで格納されるかを規定し、この規定を「符号化」と呼ぶ.それぞれの国や地域で符号化基準を制定する際、「文字の集合」と「符号化」は一般的に同時に制定される.したがって、通常我々が言う「文字セット」とは、例えば、GB 2312、GBK、JISなど、「文字の集合」という意味のほか、「符号化」という意味も含まれている.UNICode文字セットには、さまざまな言語で使用されるすべての文字が含まれています.UNICode文字セットを符号化するための規格は、UTF-8、UTF-7、UTF-16、UnicodeLittle、UnicodeBigなど、様々である.1、ISO-8859-1:最も簡単なコード規則で、各バイトは直接UNICOD文字として使用する.例えば、[0 xD 6,0 xD 0]の2バイトがiso-8859-1で文字列に変換されると、直接[0 x 00 D 6,0 x 00 D 0]の2つのUNICODE文字、すなわち「中国Ð「.逆に、UNICode文字列をiso-8859-1でバイト列に変換する場合、0~255の範囲の文字しか正常に変換できません.2、GB 2312、BIG 5、Shift_JIS、ISO-8859-2 UNICode文字列をANSI符号化で「バイト列」に変換しますの場合、それぞれの符号化の規定により、1つのUNICコード文字が1バイト以上に変換されることがある.逆に、バイト列を文字列に変換する場合、複数のバイトが1文字に変換されることもあります.例えば、[0 xD 6,0 xD 0]の2バイトが、GB 2312を介して文字列に変換されると、[0 x 4 E 2 D]の1文字である'中'字が得られる.「ANSI符号化」の特徴:1.これらの「ANSI符号化規格」では、それぞれの言語範囲内のUNICOD文字しか処理できません.2.「ユニコード文字」と「変換されたバイト」の関係は人為的に定められている.3、UTF-8、UTF-16、UnicodeBigは「ANSI符号化」と類似しており、文字列をUNICode符号化により「バイト列」に変換すると、1つのUNICode文字が1バイト以上に変換される可能性がある.「ANSI符号化」とは異なり、1.これらの「UNICode符号化」は、すべてのUNICode文字を処理することができる.2.「UNICode文字」と「変換されたバイト」の間は計算によって得られる.
どのように互いに変換しますか?
 , utf-8, , utf-8。