web-dev-qa-db-ja.com

各言語の最も一般的なエンコーディングは何ですか?

プレーンテキストのリーダーアプリケーションを開発しています。アプリがファイルのエンコーディングを自動決定できない場合があるため、ユーザーはエンコーディングのリストからエンコーディングを選択する必要があります。このリストにサポートされているすべてのエンコーディングが含まれている場合は、長すぎます。簡略化されたリストを提供したいのですが、各言語の最も一般的なエンコーディングのみが含まれています。

これは私が知っているいくつかの関係です:

  • 繁体字中国語:Big5
  • 簡体字中国語:GB18030
  • 日本語:Shift-JIS、EUC-JP
  • ロシア語:KOI8-R

他の言語で最も一般的なエンコーディングを知っている場合は、教えてください。

19
user805627

ゆっくりと、しかし確実に、答えは「UTF-8」になりつつあります。

しかし、その価値については、Windows XPロケールがデフォルトの文字エンコードでグループ化されています( " 非Unicodeプログラムの言語 "):

  • Big5:zh_HK、zh_MO、zh_TW
  • [〜#〜] gbk [〜#〜](≈GB2312):zh_CN、zh_SG
  • Windows-31J(≈Shift_JIS):ja_JP
  • windows-874(≈TIS-620、ISO-8859-11):th_TH
  • windows-949(≈EUC-KR):ko_KR
  • windows-1250:bs_BA、cs_CZ、hr_BA、hr_HR、hu_HU、pl_PL、ro_RO、sk_SK、sl_SI、sq_AL、sr_BA、sr_SP
  • windows-1251:az_AZ、be_BY、bg_BG、kk_KZ、ky_KG、mk_MK、mn_MN、ru_RU、sr_BA、sr_SP、tt_RU、uk_UA、uz_UZ
  • windows-1252(≈ISO-8859-1):af_ZA、arn_CL、ca_ES、cy_GB、da_DK、de_AT、de_CH、de_DE、de_LI、de_LU、 en_AU、en_BZ、en_CA、en_CB、en_GB、en_IE、en_JM、en_NZ、en_PH、en_TT、en_US、en_ZA、en_ZW、es_AR、es_BO、es_CL、es_CO、es_CR、es_DO、es_EC、es_ES、_ es_PA、es_PE、es_PR、es_PY、es_SV、es_UY、es_VE、eu_ES、fi_FI、fil_PH、fo_FO、fr_BE、fr_CA、fr_CH、fr_FR、fr_LU、fr_MC、fy_NL、ga_IE、gl_ES、id_ID iv_IV、lb_LU、moh_CA、ms_BN、ms_MY、nb_NO、nl_BE、nl_NL、nn_NO、ns_ZA、pt_BR、pt_PT、qu_BO、qu_EC、qu_PE、rm_CH、se_FI、se_NO、se_SE、sv_FI、sv_FI、
  • windows-1253:el_GR
  • windows-1254(≈ISO-8859-9):az_AZ、tr_TR、uz_UZ
  • windows-1255:he_IL
  • windows-1256:ar_AE、ar_BH、ar_DZ、ar_EG、ar_IQ、ar_JO、ar_KW、ar_LB、ar_LY、ar_MA、ar_OM、ar_QA、ar_SA、ar_SY、 ar_TN、ar_YE、fa_IR、ps_AF、ur_PK
  • windows-1257:et_EE、lt_LT、lv_LV
  • windows-1258:vi_VN

および 2019年8月5日現在のWeb全体で最も一般的なエンコーディング

  1. TF-8 (93.8%)
  2. ISO-8859-1 (3.0%)
  3. Windows-1251 (0.9%)
  4. Windows-1252 (0.6%)
  5. シフトJIS (0.4%)
  6. GB2312(0.3%)
  7. EUC-KR(0.3%)
  8. ISO-8859-2(0.1%)
  9. Windows-1250(0.1%)
  10. EUC-JP(0.1%)
  11. GBK(0.1%)
  12. Big5(0.1%)
  13. ISO-8859-15(0.1%)
  14. ISO-8859-9(0.1%)
  15. Windows-1256(0.1%)
55
dan04

HTML5ドラフトには、一般的と見なされるものを反映した 言語のデフォルトのエンコーディング の表が含まれています。ただし、userロケール、つまりの言語ではなく、ブラウザまたはオペレーティングシステムの言語に基づいていることに注意してください。 == --- ==)document—明らかに、エンコーディングに関する何らかの仮定に基づいて、少なくとも実際にドキュメントを読む前は、後者は通常不明であるためです。

実際には、人気のあるWebブラウザでエンコーディングのリストをコピーできると思います。そこでうまく機能する場合は、おそらくアプリケーションでかなりうまく機能します。ブラウザはリストとその順序でいくつかの巧妙なことを行いますが、実際には、utf-8、utf-16、windows-1252、およびおそらく他のいくつかのような短いリストを用意し、その後に次のオプションを追加するだけで十分だと思います。完全なリストを取得します。 utf-16は実際には使用されておらず、Webページには役に立たないものの、プレーンテキストファイルでは一般的であることに注意してください。ブラウザと同じように、エンコーディングに適切な名前を付けることが重要です。できれば、一般的な英語(または他の言語)の名前と、括弧内のIANA「charset」名を使用してください。

3

ブラウザで使用されているようなメニュー構造をお勧めします。たとえば、Firefox:[表示]-> [文字エンコード]-> [その他のエンコード]-> [東アジア]-> [中国語/日本語/韓国語]。 (わかりました、見ているだけで簡単です)。そして、IEで[表示]-> [エンコード]-> [その他]を選択します。

深すぎて不格好に見えるかもしれませんが、それは非常によく知られています。そして、有用なエンコーディングを削除しません(たとえば、ロシア語のKOI8-Rはなぜですか?また、Windows 1251を使用していて、リストにない場合はどうなりますか?)

1
Mihai Nita