从字节流中读取utf-8字符

弧形

给定字节流(生成器,文件等),如何读取单个utf-8编码字符?

  • 此操作必须消耗流中该字符的字节。
  • 此操作不得消耗流中超出第一个字符的任何字节。
  • 此操作应在任何Unicode字符上都成功。

我可以通过滚动自己的utf-8解码功能来解决这个问题,但是我不希望重新发明轮子,因为我确信此功能必须已经在其他地方用于解析utf-8字符串。

凯文

包裹流中的TextIOWrapperencoding='utf8',然后调用.read(1)就可以了。

这是假设您从与之BufferedIOBase兼容的鸭子类型开始(即有一个read()方法)。如果您具有生成器或迭代器,则可能需要调整接口。

例子:

from io import TextIOWrapper

with open('/path/to/file', 'rb') as f:
  wf = TextIOWrapper(f, 'utf-8')
  wf._CHUNK_SIZE = 1  # Implementation detail, may not work everywhere

  wf.read(1) # gives next utf-8 encoded character
  f.read(1)  # gives next byte

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从包含utf 8字符的属性文件中读取

来自分类Dev

python 3中的字节流和utf-8

来自分类Dev

单个UTF-8字符到字节

来自分类Dev

UTF-8字符的属性

来自分类Dev

C#UTF-8字符串中的字节位置

来自分类Dev

重写htaccess中的utf8字符

来自分类Dev

在python 2.7中打印UTF-8字符

来自分类Dev

imagestring()函数中的utf-8字符

来自分类Dev

Internet Explorer中的粗体UTF-8字符

来自分类Dev

在Bash CLI中输入UTF-8字符

来自分类Dev

datepicker中的UTF-8字符

来自分类Dev

nodejs中的UTF-8字符

来自分类Dev

从MPMoviePlayerController元数据中的UTF8字符串中快速读取

来自分类Dev

如何使System.in输入流中的utf-8字符读取?

来自分类Dev

Lua-从文件中读取一个UTF-8字符

来自分类Dev

使用`strstr`在字符串中搜索多字节UTF-8字符是否安全?

来自分类Dev

Python:将utf-8字符串转换为字节字符串

来自分类Dev

Python:将utf-8字符串转换为字节字符串

来自分类Dev

如何从Java中的字节流读取(PHP / Java套接字通信)

来自分类Dev

如何在Python中读取应用程序/八位字节流

来自分类Dev

如何从Java中的字节流读取(PHP / Java套接字通信)

来自分类Dev

utf8字符集与Thymeleaf

来自分类Dev

无法转换UTF-8字符-Python

来自分类Dev

UTF8字符串上的==是否安全?

来自分类Dev

UTF 8字符的Base64解码并打印

来自分类Dev

mysql regex utf-8字符

来自分类Dev

使用HTML / UTF-8字符作为光标

来自分类Dev

灯箱显示UTF-8字符而不是箭头

来自分类Dev

无法用RegExp替换UTF-8字符