seek()对中文偏移测试

简介: 当前目录下创建“中文测试.txt”文件,写入:我是大好人aaa我是大坏人bbbf = open('中文测试.txt', 'r+', encoding='utf-8')# f.write('我是大好人aaa\n')# f.

当前目录下创建“中文测试.txt”文件,写入:

我是大好人aaa
我是大坏人bbb
f = open('中文测试.txt', 'r+', encoding='utf-8')
# f.write('我是大好人aaa\n')
# f.write('我是大坏人bbb')
f.seek(0)
print(f.read())
f.seek(0)
print(len(f.read()))     # 文字包括\n的个数,总计10个汉字,6个字母和一个换行符\n,共17个
print(f.tell())    # 指针共计,每个汉字3位,每个字母或者数字1位,换行符有\r\n两个,共计38个
print(f.read())    # 所以对于有中文的文件,要看准了修改seek(),如果中文没有改3的倍数,卡到中间
f.close()        # 就会出错或者乱码(在数据编码中可以使用忽略无法编码以及解码的关键字参数)

  

                                                                   -------  知识无价,汗水有情,如需搬运请注明出处,谢谢!

目录
相关文章
2 字节的 UTF-8 序列的字节 2 无效 解决方法
2 字节的 UTF-8 序列的字节 2 无效 解决方法: 用记事本打开xml文件,另存为 编码 选择 UTF-8,保存替换掉之前的文件,解决问题博客内容仅代表个人观点,如发现阐述有误,麻烦指正,谢谢!
4161 0
|
机器学习/深度学习 C语言
【C 语言】文件操作 ( 使用 fseek 函数生成指定大小文件 | 偏移量 文件字节数 - 1 )
【C 语言】文件操作 ( 使用 fseek 函数生成指定大小文件 | 偏移量 文件字节数 - 1 )
506 0
【C 语言】文件操作 ( 使用 fseek 函数生成指定大小文件 | 偏移量 文件字节数 - 1 )
|
小程序 JavaScript 前端开发
vba 在代码窗口里不能正常显示的双字节字符的转换
vba 在代码窗口里不能正常显示的双字节字符的转换
99 0
老版本word文档打开文字重叠、重影解决方法
老版本word文档打开文字重叠、重影解决方法
214 0
|
C语言
文件的长度
文件的长度
232 0
文件的长度
在屏幕中显示出welcome to CHINA,并每次左右各显示一个字符
在屏幕中显示出welcome to CHINA,并每次左右各显示一个字符
86 0
在屏幕中显示出welcome to CHINA,并每次左右各显示一个字符
编写一个程序,如果名为Exercise12_15.txt的文件不存在,则创建该文件。使用文本I/O将随机产生的100个整数写入文件,文件中的整数由空格分开。从文件中读回数据并以升序显示数据。
编写一个程序,如果名为Exercise12_15.txt的文件不存在,则创建该文件。使用文本I/O将随机产生的100个整数写入文件,文件中的整数由空格分开。从文件中读回数据并以升序显示数据。
286 0
fwrite()读取长度错误
fwrite()读取长度错误
109 0
|
Android开发
【Android 逆向】ELF 文件格式 ( 程序头偏移量 | 节区头偏移量 | 处理器特定标志 | ELF 文件头大小 )
【Android 逆向】ELF 文件格式 ( 程序头偏移量 | 节区头偏移量 | 处理器特定标志 | ELF 文件头大小 )
216 0
【Android 逆向】ELF 文件格式 ( 程序头偏移量 | 节区头偏移量 | 处理器特定标志 | ELF 文件头大小 )