我知道如何在Python
中执行此操作:
In [1]: u'中华人民共和国'.encode('GB18030').encode('base64')
Out[1]: '1tC7qsjLw/G5srrNufo=\n'
但是我需要在PHP中这样做,我不知道该怎么做。
答案 0 :(得分:4)
您可以使用iconv
将字符串从UTF-8(或您的初始编码)转换为GB18030,然后将base64_encode
转换为结果。 E.g:
echo base64_encode(iconv('UTF-8', 'GB18030', '中华人民共和国'));
输出:
1tC7qsjLw/G5srrNufo=
请注意,PHP没有本机Unicode字符串 - 它们只是一堆字节,因此您需要指定字符串所在的编码。如果它是PHP中的字符串文字,它将是任何内容您用于文件的编码。
答案 1 :(得分:0)
echo mb_convert_encoding($str, "gb18030", "UTF-8");
将UTF-8替换为已有的文本编码。或者,第三个参数是可选的,即使没有该参数也可以使用。