首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含NULL的打印字节

包含NULL的打印字节
EN

Stack Overflow用户
提问于 2014-01-15 10:05:14
回答 3查看 99关注 0票数 0

我有一个字节字符串,

代码语言:javascript
复制
str = 'string ends with null\x00\x11u\x1ai\t'

我希望str应该在单词null之后终止,因为NULL \x00紧随其后,但是当我打印str时,

代码语言:javascript
复制
>>> print('string ends with null\x00\x11u\x1ai\t')
string ends with nullui

str并没有像我预期的那样结束,如何纠正它?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-15 10:07:56

代码语言:javascript
复制
>>> str[:str.find('\0')]
'string ends with null'

Python字符串并不像C字符串那样以NUL结尾。顺便说一句,调用字符串str是个坏主意,因为它隐藏了内置类型str

票数 4
EN

Stack Overflow用户

发布于 2014-01-15 10:11:18

替代@larsman提供的内容,您也可以使用P

代码语言:javascript
复制
>>> from ctypes import *
>>> st = 'string ends with null\x00\x11u\x1ai\t'
>>> c_char_p(st).value
'string ends with null'

C/C++不同的是,python中的字符串不以空终止。

票数 2
EN

Stack Overflow用户

发布于 2014-01-15 10:16:56

另一种选择是使用split

代码语言:javascript
复制
>>> str = 'string ends with null\x00\x11u\x1ai\t\x00more text here'
>>> str.split('\x00')[0]
'string ends with null'
>>> str.split('\x00')
['string ends with null', '\x11u\x1ai\t', 'more text here']
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21134370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档