【发布时间】:2018-04-30 08:04:30
【问题描述】:
我正在尝试读取文件并将数据发送到套接字。 但我无法将 ÿ 字符转换为单个字节。
如果我读取文件或使用字符串并转换它,则不会。 我认为问题在于文件的编码,但我似乎找不到正确的。 对于这个例子,我将只展示字符串转换。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import binascii
s = "ÿ"
b = bytearray(s)
print binascii.hexlify(b)
>>result: c3bf
所以 ÿ 字符存储为 2 个字节。 但我想将其转换为 0xFF 的单个字节。
提前致谢
【问题讨论】:
-
您可能根本不想这样做。您可能混淆了单个字节的 UTF16 表示(U+00FF,即 0x00,0xFF)。我不认为有任何可打印 last 字符的 ASCII 代码页。如果您检查codepage charts,您会发现在大多数情况下,0xFF 是
non-breaking space。 为什么你要使用0xFF? -
“但我无法将 ÿ 字符转换为单个字节。” - 你为什么要这样做?
-
嗨,我(我们)正在制作一台打印机,但windows驱动程序还没有完成。我试图测试嵌入式应用程序。我发现我的文件没有正确存储,所以我现在可以用一个文件来做。但仍然不能使用 const 字符串。例如,这项工作可以获得正确的值:
codewith open('test.prn', "rb") as f: byte = f.read(1)
标签: python string type-conversion ascii