Mariadb获取二进制格式的字符串BE

xxls0lw8  于 2022-11-08  发布在  其他
关注(0)|答案(1)|浏览(148)

如果我正在运行查询:

SELECT HEX(BINARY(CONVERT('ßÁÁÁÁÁȵ$€Łß' USING ucs2)));

我正在弄:

00DF00C100C100C100C100C1010C00B5002420AC014100DF

我假设序列是BE,因为在txt文件中UTF-16中BE是相同序列。
如何获得UTF-16 LE中的序列?
你问我为什么要LE?因为在MS SQL服务器上查询:

SELECT CONVERT(varbinary(100), N'ßÁÁÁÁÁȵ$€Łß',0)

返回:

0xDF00C100C100C100C100C1000C01B5002400AC204101DF00

谢谢
雅罗斯拉夫

nzrxty8p

nzrxty8p1#

您需要使用little endian字符集进行强制转换:

SELECT HEX(BINARY(CONVERT('ßÁÁÁÁÁȵ$€Łß' USING utf16le)));
+----------------------------------------------------------------+
| HEX(BINARY(CONVERT('ßÁÁÁÁÁȵ$€Łß' USING utf16le)))             |
+----------------------------------------------------------------+
| DF00C100C100C100C100C1000C01B5002400AC204101DF00               |
+----------------------------------------------------------------+

相关问题