您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在Python 3.1中将字符串转换为缓冲区?

5b51 2022/1/14 8:23:24 python 字数 1484 阅读 566 来源 www.jb51.cc/python

我试图使用以下行来管道子进程: p.communicate("insert into egg values ('egg');"); TypeError: must be bytes or buffer, not str 如何将字符串转换为缓冲区? 正确的答案是: p.communicate(b"insert into egg values ('egg');"); 注意前导b,告诉你这是一串字节,

概述

p.communicate("insert into egg values ('egg');");

TypeError: must be bytes or buffer,not str

如何将字符串转换为缓冲区?

p.communicate(b"insert into egg values ('egg');");

注意前导b,告诉你这是一串字节,而不是一串unicode字符.另外,如果你正在从一个文件中读取它:

value = open('thefile','rt').read()
p.communicate(value);

改为:

value = open('thefile','rb').read()
p.communicate(value);

再次注意’b’.
现在,如果你的值是一个字符串,你可以从一个只返回字符串的API得到,不管是什么,那么你需要对它进行编码.

p.communicate(value.encode('latin-1');

Latin-1,因为与ASCII不同,它支持所有256字节.但是说,在unicode中使用二进制数据是要求麻烦.如果您从一开始就可以使其成为二进制,则会更好.

总结

以上是编程之家为你收集整理的如何在Python 3.1中将字符串转换为缓冲区?全部内容,希望文章能够帮你解决如何在Python 3.1中将字符串转换为缓冲区?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶