php - 如何在 PHP 中将 unicode 编码为 GB18030?

标签 php unicode

我知道如何在 Python 中执行此操作:

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

但是我需要在 PHP 中执行此操作,并且我不知道如何执行。

最佳答案

您可以使用iconv将字符串从 UTF-8(或任何初始编码)转换为 GB18030,然后 base64_encode结果。例如:

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

输出:

1tC7qsjLw/G5srrNufo=

请注意,PHP 没有 native Unicode 字符串 - 它们只是一堆字节,因此您需要指定字符串所在的编码。如果它是 PHP 中的字符串文字,那么它将是任何内容您用于该文件的编码。

关于php - 如何在 PHP 中将 unicode 编码为 GB18030?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38994208/

相关文章:

unicode - 如何查看 unicode 类别中的所有字符?

php - 如何按字母顺序动态显示订单列表?

php - 在php中修改json数组的日期格式

python - 使用 Cairo 渲染器的 Matplotlib Unicode 轴标签

javascript - 使用 JavaScript 和 HTML 打印表情符号

c++ - Unicode、字符指针和 wcslen

perl - 为什么要在出路时重构 Unicode (NFC)?

PHP - 如何在 ci 中链接 View 中的其他页面

php - 如何使用jquery删除wordpress菜单中的空链接?

php - 带有前导零的数字的奇怪行为