解码 unicode 数据 Python
decode a unicode data Python
我正在使用 Rpi 从 SQL 服务器的表中提取信息,目前我在解码 Python 中的以下未编码数据时遇到了一些问题:u'\U00300032\U00360031\U0030002d\U002d0039\U00310032'
日期数据,当我将此值分配给变量时出现此错误:
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-9: end of string in escape sequence
我已经阅读了很多关于该主题的信息,但我没有找到有用的信息,我想要的是转换为字符串 type.Am 我在这里遗漏了什么?
u'\U0010FFFF'
是最大的 Unicode 代码点。您的陈述暗示数据是用 UTF-32LE 解码的,但是 Python(至少 2.7.12)会给出:
UnicodeDecodeError: 'utf32' codec can't decode bytes in position 0-3: code point not in range(0x110000)
如果原始数据以 UTF-32LE 的字节写出并正确解码为 UTF-16LE,您将获得日期数据:
>>> data = '\x32\x00\x30\x00\x31\x00\x36\x00\x2d\x00\x30\x00\x39\x00\x2d\x00\x32\x00\x31\x00'
>>> data.decode('utf-16le')
u'2016-09-21'
我正在使用 Rpi 从 SQL 服务器的表中提取信息,目前我在解码 Python 中的以下未编码数据时遇到了一些问题:u'\U00300032\U00360031\U0030002d\U002d0039\U00310032'
日期数据,当我将此值分配给变量时出现此错误:
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-9: end of string in escape sequence
我已经阅读了很多关于该主题的信息,但我没有找到有用的信息,我想要的是转换为字符串 type.Am 我在这里遗漏了什么?
u'\U0010FFFF'
是最大的 Unicode 代码点。您的陈述暗示数据是用 UTF-32LE 解码的,但是 Python(至少 2.7.12)会给出:
UnicodeDecodeError: 'utf32' codec can't decode bytes in position 0-3: code point not in range(0x110000)
如果原始数据以 UTF-32LE 的字节写出并正确解码为 UTF-16LE,您将获得日期数据:
>>> data = '\x32\x00\x30\x00\x31\x00\x36\x00\x2d\x00\x30\x00\x39\x00\x2d\x00\x32\x00\x31\x00'
>>> data.decode('utf-16le')
u'2016-09-21'