嗨,我知道这听起来很愚蠢,但实际上它使我感到困惑,就像文本解码器提供了什么一样? 对于音频/视频解码器,我可以理解它提供的样本可以转换为从输出设备输出的模拟数据。
但是我实际上无法理解文本解码器提供了什么以及如何将任何解码后的文本用于采用任何编码方案进行编码。
答案 0 :(得分:1)
您假定没有针对文本的编码方案。错了有几十个。例如,字符噸
是八位字节序列,采用几种流行的编码:
另一个:ß
另一个:u
手动验证!下载此网页,在十六进制编辑器中打开它,然后尝试找到上面的UTF-8序列。
文本解码器将八位字节作为输入,然后再次将其转换为可用的文本。
您可能还没有注意到这个概念,因为到目前为止您只使用拉丁字符,尽管您忽略了对文本编码和解码的关心,但所有工作都没有明显的问题。这是因为从上一个示例中可以看到,许多编码在某种程度上与祖父US-ASCII向后兼容。
Python和许多其他编程语言一样,在很大程度上遵守Unicode,因此它的文本处理模型也是如此。在磁盘文件中将文本清晰地分隔为一系列字符或字素(emem)(在编程语言中)和编码的文本清晰地分隔为一系列八位字节(在编程语言之外) ,标准I / O流,数据库,命令行参数,环境变量,网络套接字等)是非常必要的,否则,当您尝试确定文本的大小或对其进行换行时,会得到错误的结果。
文本编解码器是这些世界之间的精确边界。