关于文件字符存储的形式
看了好多文章,就算文件采取的编码格式不一样,但都是由0和1组成的,那我open(file,'rb')后print(read())打印出的为什么是16进制而不是一大堆0和1呢 这是python帮你处理过的 01是机器语言编译型语言是C→汇编语言→机器语言→exe文件→CPU
解释型语言是python→字节码→解释器→CPU
因为print()是调用str魔术方法
python的 bytes类型的str魔术方法是返回16进制字符串 kogawananari 发表于 2021-8-21 12:49
因为print()是调用str魔术方法
python的 bytes类型的str魔术方法是返回16进制字符串
那假如我想把一个文件里面的0改为1,1改为0,我该如何操作呢
一只魈咸鱼 发表于 2021-8-21 15:37
那假如我想把一个文件里面的0改为1,1改为0,我该如何操作呢
一个字节一个字节的转就行了 kogawananari 发表于 2021-8-22 13:31
一个字节一个字节的转就行了
就是说f.read()返回的字符串里面只有0和1吗?那我直接list()转化,然后f在or循环里0,1互换可以吗 一只魈咸鱼 发表于 2021-8-22 16:31
就是说f.read()返回的字符串里面只有0和1吗?那我直接list()转化,然后f在or循环里0,1互换可以吗
为什么要用list直接for就行了 kogawananari 发表于 2021-8-22 17:11
为什么要用list直接for就行了
因为字符串的内容不是不允许通过索引修改嘛。。如果用replace的话就只能全为1或全为0了,或者还有其它操作吗 一只魈咸鱼 发表于 2021-8-22 21:59
因为字符串的内容不是不允许通过索引修改嘛。。如果用replace的话就只能全为1或全为0了,或者还有其它操 ...
bytes类型不是字符串。然后取反是运算符~
页:
[1]