把流中的字符串转换为 UTF 格式
Posted 每天进步一点点……
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了把流中的字符串转换为 UTF 格式相关的知识,希望对你有一定的参考价值。
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); end; var Form1: TForm1; implementation $R *.dfm procedure TForm1.Button1Click(Sender: TObject); var stream1,stream2: TStringStream; b: Byte; bs: string; begin 建立第一个流, 使用默认的双字节编码; 流中的数据是 Memo 中的字符串 stream1 := TStringStream.Create(Memo1.Text, 54936); 把第一个流的十六进制编码显示在 Memo 中 bs := \'\'; for b in stream1.Bytes do bs := Format(bs + \'%2x \', [b]); Memo1.Lines.Add(bs); 建立第二个流, 用 UTF8 编码; 还是基于第一个流中的字符串 stream2 := TStringStream.Create(stream1.DataString, TEncoding.UTF8); 把第二个流的十六进制编码显示在 Memo 中 bs := \'\'; for b in stream2.Bytes do bs := Format(bs + \'%2x \', [b]); Memo1.Lines.Add(bs); stream1.Free; stream2.Free; end; procedure TForm1.FormCreate(Sender: TObject); begin Memo1.Align := alTop; Memo1.ScrollBars := ssBoth; Memo1.Text := \'万一的 Delphi 博客\'; end; end.
在python中将字符串转换为数字[关闭]
【中文标题】在python中将字符串转换为数字[关闭]【英文标题】:Converting string to number in python [closed] 【发布时间】:2014-07-07 20:16:44 【问题描述】:我有一个 .ktx 格式的文件。我已经以“rb”模式打开了文件。我想修改该文件中的特定字节。我正在使用 read(4) [我想读取 4 个字节的数字] 读取字节,调用并将每个块转换为一个数字。我想要的是,将该数字增加特定数字并将其插入回文件流中。 python中是否有将字节字符串转换为整数的函数?我尝试使用 int() 但它会打印一些二进制数据。
我的代码:
bytes=file.read(4)
for char in bytes:
print hex(ord(char))
【问题讨论】:
你说的是二进制字符串还是什么类型的字符串? 现在问题澄清了吗?我想发布一个扩展答案,但目前不能。 【参考方案1】:试试这个
How can I convert a character to a integer in Python, and viceversa?
这是您似乎想要做的建议的工作流程
读取数据 将数据转换为整数 将 X 添加到整数,其中 X 是您要增加的值【讨论】:
OP 正在处理打包的二进制数据,而不是 pythonint
s。
字节是字符,无论您使用哪种语言编程,都没有看到如何将字符转换为相应的数值是不适用的。
在他自己的示例中,他一次迭代一个字符。所以这符合他迄今为止的实际工作。
他一次迭代一个字符不正确,所以按照他的方法发布另一个不正确的答案是没有用的。
您说他这样做是错误的,但同时投票关闭了歧义的原因,同时对此处的所有答案投了反对票。你是社区的资产。【参考方案2】:
bytes = file.read(4)
bytesAsInt = struct.unpack("l",bytes)
do_something_with_int(bytesAsInt)
我认为这可能是您正在寻找的东西......虽然很难从问题中分辨出来
这是结构模块https://docs.python.org/3/library/struct.html的文档
【讨论】:
struct
绝对是要走的路,你甚至可以直接从文件流中读取。
我怎样才能把它写回文件?
与struct.pack
...以上是关于把流中的字符串转换为 UTF 格式的主要内容,如果未能解决你的问题,请参考以下文章