Python
 Computer >> コンピューター >  >> プログラミング >> Python

PHPのmb_list_encodings()関数でサポートされている全エンコーディングを配列として取得する方法

PHPのmb_list_encodings()関数は、現在の環境でサポートされているすべての文字エンコーディングを配列として返します。この関数はPHP 5以降のバージョンで利用可能です。マルチバイト文字列処理を行う際に、対応しているエンコーディングの一覧を確認したい場合に便利な関数です。

構文

array mb_list_encodings()

パラメータ

mb_list_encodings()は引数を受け取りません。

戻り値

この関数は、サポートされているエンコーディング名を格納した数値インデックス付きの配列を返します。各要素には「UTF-8」や「SJIS」などのエンコーディング名が文字列として含まれます。

エラーと例外

mb_list_encodings()は、特別なエラーや例外を発生させません。

使用例

以下の例では、mb_list_encodings()を呼び出して、サポートされているすべてのエンコーディングの一覧を取得し、var_dump()で出力しています。

<?php
   $arr = mb_list_encodings();
   var_dump($arr);
?>

実行結果

上記のコードを実行すると、次のような出力が得られます(環境によって内容や数は異なる場合があります)。

array(87) {
    [0]=> string(4) "pass"
    [1]=> string(4) "auto"
    [2]=> string(5) "wchar"
    [3]=> string(7) "byte2be"
    [4]=> string(7) "byte2le"
    [5]=> string(7) "byte4be"
    [6]=> string(7) "byte4le"
    [7]=> string(6) "BASE64"
    [8]=> string(8) "UUENCODE"
    [9]=> string(13) "HTML-ENTITIES"
    [10]=> string(16) "Quoted-Printable"
    [11]=> string(4) "7bit"
    [12]=> string(4) "8bit"
    [13]=> string(5) "UCS-4"
    [14]=> string(7) "UCS-4BE"
    [15]=> string(7) "UCS-4LE"
    [16]=> string(5) "UCS-2"
    [17]=> string(7) "UCS-2BE"
    [18]=> string(7) "UCS-2LE"
    [19]=> string(6) "UTF-32"
    [20]=> string(8) "UTF-32BE"
    [21]=> string(8) "UTF-32LE"
    [22]=> string(6) "UTF-16"
    [23]=> string(8) "UTF-16BE"
    [24]=> string(8) "UTF-16LE"
    [25]=> string(5) "UTF-8"
    [26]=> string(5) "UTF-7"
    [27]=> string(9) "UTF7-IMAP"
    [28]=> string(5) "ASCII"
    [29]=> string(6) "EUC-JP"
    [30]=> string(4) "SJIS"
    [31]=> string(9) "eucJP-win"
    [32]=> string(11) "EUC-JP-2004"
    [33]=> string(8) "SJIS-win"
    [34]=> string(18) "SJIS-Mobile#DOCOMO"
    [35]=> string(16) "SJIS-Mobile#KDDI"
    [36]=> string(20) "SJIS-Mobile#SOFTBANK"
    [37]=> string(8) "SJIS-mac"
    [38]=> string(9) "SJIS-2004"
    [39]=> string(19) "UTF-8-Mobile#DOCOMO"
    [40]=> string(19) "UTF-8-Mobile#KDDI-A"
    [41]=> string(19) "UTF-8-Mobile#KDDI-B"
    [42]=> string(21) "UTF-8-Mobile#SOFTBANK"
    [43]=> string(5) "CP932"
    [44]=> string(7) "CP51932"
    [45]=> string(3) "JIS"
    [46]=> string(11) "ISO-2022-JP"
    [47]=> string(14) "ISO-2022-JP-MS"
    [48]=> string(7) "GB18030"
    [49]=> string(12) "Windows-1252"
    [50]=> string(12) "Windows-1254"
    [51]=> string(10) "ISO-8859-1"
    [52]=> string(10) "ISO-8859-2"
    [53]=> string(10) "ISO-8859-3"
    [54]=> string(10) "ISO-8859-4"
    [55]=> string(10) "ISO-8859-5"
    [56]=> string(10) "ISO-8859-6"
    [57]=> string(10) "ISO-8859-7"
    [58]=> string(10) "ISO-8859-8"
    [59]=> string(10) "ISO-8859-9"
    [60]=> string(11) "ISO-8859-10"
    [61]=> string(11) "ISO-8859-13"
    [62]=> string(11) "ISO-8859-14"
    [63]=> string(11) "ISO-8859-15"
    [64]=> string(11) "ISO-8859-16"
    [65]=> string(6) "EUC-CN"
    [66]=> string(5) "CP936"
    [67]=> string(2) "HZ"
    [68]=> string(6) "EUC-TW"
    [69]=> string(5) "BIG-5"
    [70]=> string(5) "CP950"
    [71]=> string(6) "EUC-KR"
    [72]=> string(3) "UHC"
    [73]=> string(11) "ISO-2022-KR"
    [74]=> string(12) "Windows-1251"
    [75]=> string(5) "CP866"
    [76]=> string(6) "KOI8-R"
    [77]=> string(6) "KOI8-U"
    [78]=> string(9) "ArmSCII-8"
    [79]=> string(5) "CP850"
    [80]=> string(6) "JIS-ms"
    [81]=> string(16) "ISO-2022-JP-2004"
    [82]=> string(23) "ISO-2022-JP-MOBILE#KDDI"
    [83]=> string(7) "CP50220"
    [84]=> string(10) "CP50220raw"
    [85]=> string(7) "CP50221"
    [86]=> string(7) "CP50222"
}

まとめ

mb_list_encodings()は、引数なしで呼び出すだけで、PHP環境で利用可能な全エンコーディングを簡単に一覧できる便利な関数です。日本語(EUC-JP、SJIS、ISO-2022-JPなど)や中国語、韓国語、ヨーロッパ諸言語向けの各種エンコーディングが含まれており、mb_convert_encoding()などのマルチバイト関数と組み合わせて使用する際の事前確認に役立ちます。

  1. 【初心者向け】Pythonで文字列内の「a」をすべて「$」に置き換える方法

    文字列の中に含まれる特定の文字(ここでは「a」)を、別の文字(ここでは「$」)にすべて置き換えたいケースはよくあります。Pythonでは、文字列を1文字ずつ反復処理しながら「+=」演算子で新しい文字列を組み立てることで、この処理を実現できます。 サンプルコード 以下に、実際の実装例を示します。 my_str = Jane Will Rob Harry Fanch Dave Nancy changed_str = for char in range(0, len(my_str)): if(my_str[char] == a): changed_str += $

  2. Pythonで文字列内のすべての出現箇所を別の文字列に置換する方法

    str.replace()メソッドを使う方法Pythonの文字列クラス(str)には、replaceメソッドが標準で用意されています。このメソッドは「置換したい文字列」と「置換後の文字列」を引数として受け取り、文字列オブジェクトに対して呼び出すことで、該当するすべての出現箇所を一括して置き換えることができます。たとえば、次のように呼び出すと、文字列中のすべての「no」が「yes」に置き換えられます。>>> no one knows how.replace(no, yes) yes one kyesws how >>> chihuahua.replace(hu