【发布时间】:2021-04-19 09:38:29
【问题描述】:
我翻阅了各种材料,但找不到 ruby 中默认内部编码和外部编码的区别。任何人都可以在这方面帮助我。
【问题讨论】:
我翻阅了各种材料,但找不到 ruby 中默认内部编码和外部编码的区别。任何人都可以在这方面帮助我。
【问题讨论】:
当从外部源(例如文件、网络套接字等)读取字符串时,Ruby 可能会假定此数据以特定的字符串编码进行编码。这是外部编码。例如,如果您正在阅读文本文件并且知道它们是以 UTF-8 编码的,则可以将外部编码设置为 UTF-8,以向 Ruby 提示数据应该是 UTF-8 编码的。
现在,在读取数据时,Ruby 还可以将数据转换为不同的编码,这可能对您的程序更有用。例如,如果您正在组装来自不同来源的数据,例如您读取的文件和 HTTP 请求,那么如果您可以确保您的字符串无论来源如何都具有相同的编码,这通常很有用。
为此,您可以设置内部编码。如果您为数据源设置正确的外部编码,例如您的内部编码为 UTF-8,您可以相当确定您的所有字符串(无论它们来自哪里)都是正确的 UTF-8 编码字符串,并且可以随意操作、合并和更改,而不必担心您内心深处的编码问题业务逻辑。
【讨论】: