2016-08-17 36 views
2

私はPythonでこれを行う方法を知っている:ユニコードからPHPでGB18030にエンコードするにはどうしたらいいですか?

In [1]: u'中华人民共和国'.encode('GB18030').encode('base64') 
Out[1]: '1tC7qsjLw/G5srrNufo=\n' 

しかし、私はPHPでこれを行う必要がある、と私はそれを行うかどうかはわかりません。

+0

Unicodeは*(*)*(2進)文字エンコードではないことに注意してください。 – Biffen

答えて

4

iconvを使用すると、文字列をUTF-8(または最初のエンコーディングが何であれ)からGB18030に変換し、次にbase64_encodeという結果に変換できます。例:

echo base64_encode(iconv('UTF-8', 'GB18030', '中华人民共和国')); 

出力:PHPネイティブUnicode文字列を持っていないこと

1tC7qsjLw/G5srrNufo= 

注 - 彼らはバイトのちょうど束している、あなたはエンコーディングを指定する必要がありますので、文字列が入っています。PHPの文字列リテラルであれば、ファイルに使用したエンコーディングになります。

関連する問題