【发布时间】:2020-03-12 03:55:13
【问题描述】:
我试图弄清楚如何在 Windows 10 中使用 perl 脚本读取以西里尔文 (cp437) 编码的参数并将其存储在使用 utf8 编码的文本文件中。
在控制台chcp 命令返回cp437 代码页。
在 StackOverflow 上搜索返回了几个性质相似的问题。我试图利用从这些帖子中获得的知识,但没有成功。
举例说明:
- 如何从控制台(cp437)读取字符串(西里尔文)并将其存储在文件中(utf8)
- 如何读取 utf8 格式(西里尔文)的文件并将内容输出到控制台 (cp437)
- 如何从控制台(cp437)读取字符串(西里尔文)并将其输出到控制台(cp1251)
将不胜感激。
注意:控制台输入 (cp437) 到输出 (cp1251) 纯粹是为了演示它所涉及的内容以及如何正确完成。
更新:cp437 不包含西里尔符号,Perl 使用 ANSI 系统调用 [CreateFileA] 并且在没有额外解决方法的情况下无法将西里尔字符传递到 Perl。我系统的默认代码页是 cp1252,它不包括西里尔符号。
【问题讨论】:
-
utf8是 Perl 内部的编码。我相信你的意思是UTF-8