- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不知道我哪里做错了。
这是我要解码的数据。
('2','\x00','2','\x00','5','\x00','0','\x00',
'P','\x00','i','\x00','n','\x00','O','\x00','V','\x00',
'E','\x00','m','\x00','p','\x00','t','\x00','y','\x00')
这是一段代码:
s = bytes(struct.unpack('28c',fld_desc)).decode('utf-16')
我没有得到字符串 '2250PinOVEmpty'
,而是得到了这个......非常奇怪的符号串:
⠧㈧Ⱐ❜砰〧Ⱐ✲✬‧屸〰✬‧㔧Ⱐ❜砰〧Ⱐ✰✬‧屸〰✬‧倧Ⱐ❜砰〧Ⱐ❩✬‧屸〰✬‧渧Ⱐ❜砰〧Ⱐ❏✬‧屸〰✬‧嘧Ⱐ❜砰〧Ⱐ❅✬‧屸〰✬‧洧Ⱐ❜砰〧Ⱐ❰✬‧屸〰✬‧琧Ⱐ❜砰〧Ⱐ❹✬‧屸〰✩
我哪里出错了?
最佳答案
如果您的 fld_desc
确实只是字节字符串 '2\x002\x005\x000\x00P\x00i\x00n\x00O\x00V\x00E\x00m\x00p\x00t\x00y\x00'
这是 python 2,你只需要做
>>> fld_desc.decode('UTF-16-LE')
u'2250PinOVEmpty'
您确实出错的地方是您根本不需要在这里使用struct.unpack
。如果这样做,则必须注意 struct.unpack
返回一个字符元组:
>>> struct.unpack(fld_desc)
('2', '\x00', '2', '\x00', '5', '\x00', '0', '\x00', 'P', '\x00', 'i', '\x00',
'n', '\x00', 'O', '\x00', 'V', '\x00', 'E', '\x00', 'm', '\x00', 'p', '\x00',
't', '\x00', 'y', '\x00')
它被馈送到 bytes
(毕竟它是 python 2 中 str
的同义词),使它成为一个新的字符串
"('2', '\\x00', '2', '\\x00', '5', '\\x00', '0', '\\x00', 'P', '\\x00', 'i', '\\x00', 'n', '\\x00', 'O', '\\x00', 'V', '\\x00', 'E', '\\x00', 'm', '\\x00', 'p', '\\x00', 't', '\\x00', 'y', '\\x00')"
哪个解码看起来确实像大部分中日韩字符和象形图
"✨✲尧へ✰㈧Ⱗ✠硜〰Ⱗ✠✵尧へ✰〧Ⱗ✠硜〰Ⱗ✠❐尧へ✰椧Ⱗ✠硜〰Ⱗ✠❮尧へ✰伧Ⱗ✠硜〰Ⱗ✠❖尧へ✰䔧Ⱗ✠硜〰Ⱗ✠❭尧へ✰瀧Ⱗ✠硜〰Ⱗ✠❴尧へ✰礧Ⱗ✠硜〰⤧"
在小端 (UTF-16-LE) 和
"⠧㈧Ⱐ❜砰〧Ⱐ✲✬‧屸〰✬‧㔧Ⱐ❜砰〧Ⱐ✰✬‧屸〰✬‧倧Ⱐ❜砰〧Ⱐ❩✬‧屸〰✬‧渧Ⱐ❜砰〧Ⱐ❏✬‧屸〰✬‧嘧Ⱐ❜砰〧Ⱐ❅✬‧屸〰✬‧洧Ⱐ❜砰〧Ⱐ❰✬‧屸〰✬‧琧Ⱐ❜砰〧Ⱐ❹✬‧屸〰✩"
大端 (UTF-16-BE)。
关于Python 从 struct.unpack() 的输出解码 UTF-16,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28392105/
dependencies:unpack-dependencies 可以解压哪些存档格式?例如,据我所知,它无法解压 RPM 包。是否有它支持的格式列表?有什么技巧可以让 maven 解压 RPM 包吗
谁能给我解释一下为什么在 test1 上,nums 是 [[0,0],[-1,-1],[0,0],[0,0]] 而不是在测试2上?据我了解,python for xx in xxx 与任何其他语言中的
我想按照建议在 php 中读取一个二进制文件作为字节 [] here我 unpack 'ed fread 的输出。所以我有类似的东西: $file=fopen($filename,'r'); fsee
首先,很抱歉是否已经提出并回答了这个问题,但我认为我的情况与我一直试图找到的其他答案有所不同。另外,我对C++还是很陌生。 我基本上是想创建一个系统,其中C++程序从游戏中接收数据并将其通过套接字发送
克隆 git-repo 后,当我尝试在提交后将 repo 推送到 git 服务器时。它给出的错误是“在远程端解包过程中发生 ssh 错误:解包对象异常退出” 最佳答案 检查远程仓库的所有权。 我也遇到
解决的问题 需要将数组(list)或元组(tuple)中的元素导出到N个变量中。 解决的方案 任何序列都可以通过简单的变量赋值方式将其元素分配到对应的变量中,唯一的要求就是变量的数量和结构需要
Dim rs, ws, fso, conn, stream, connStr, theFolder
我有这个测试函数,它只是打印传递给它的值 function test1(...) for k, v in ipairs(arg) do print(v) end end func
我有以下宏: #define HEX 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 #define BITS 0x01 #define ADD_FLAGS(a, b,
我正在阅读一个套接字,在所有问题都以为我们发送了错误的信息之后,事实证明阅读存在问题。 这个想法是: 1a- Get 4 bytes, unpack (95). 2a- Get 95 next byt
我有一个返回 Sympy 点的函数: result = [Point3D(500, 500, 10), Point3D(-500, 500, 10), Point3D(-500, -500, 10),
我正在尝试存储在 std::tuple 中不同数量的值,稍后将用作调用与存储类型匹配的函数指针的参数。 我创建了一个简化示例来展示我正在努力解决的问题: #include #include voi
我正在使用 ben strasser C++ 快速 csv 解析器:https://github.com/ben-strasser/fast-cpp-csv-parser .它使用可变参数模板将列值传
我有一个由 3 个字符串组成的打包字符串,这样我就有一个整数,指定下一个项目的字节长度,然后是那个项目的字节,然后是下一个项目的字节大小,等等,就好像有人做了: [a.bytesize, a, b.b
我正在尝试存储在 std::tuple 中不同数量的值,稍后将用作调用与存储类型匹配的函数指针的参数。 我创建了一个简化的示例来展示我正在努力解决的问题: #include #include vo
我正在尝试按照 https://conda.github.io/conda-pack/index.html?highlight=conda%20unpack 中的步骤进行操作打包和解包 conda 环
我是R的新手,可以轻松地重新组织数据,并四处寻找解决方案,但找不到我想要做的事情。 Reshape2的融化/浇铸似乎不太奏效,我还没有很好地掌握plyr,因此无法将其纳入其中。 基本上,我有一个dat
希望标题不要误导。 我像往常一样在 Pandas 数据框中加载一个 Excel 文件 df = pd.read_excel('complete.xlsx') 这就是里面的东西(通常已经订购了 - 这是
这个问题在这里已经有了答案: Lua unpack() messing arguments (1 个回答) 6年前关闭。 有人可以向我解释为什么table.unpack()仅当在 table.unpa
我有一个读取二进制文件然后使用 struct.unpack() 解压文件内容的函数。我的功能工作得很好。如果/当我使用长的“格式”字符串解压缩整个文件时,它会更快。问题是有时字节对齐会发生变化,因此我
我是一名优秀的程序员,十分优秀!