DOS 中非典型字符的混乱

发布于 2024-10-11 13:40:39 字数 687 浏览 3 评论 0原文

命令行程序输出文件路径列表。我将输出传输到另一个程序以进行进一步处理。一切正常,直到遇到包含“奇怪”字符(ó、î、ä 等)的文件路径。

问题的原因似乎是下面描述的行为:

测试 1

当我在 cmd.exe 中执行此命令时,

C:\temp> echo ó > o.txt

创建的文件的内容将是字符 ¡

测试 2

我创建了一个输入文件 o_src.txt(使用我的文本编辑器),其中包含字符 ó。

该命令

C:\temp> type o_src.txt

将在cmd.exe中打印该字符 ¾

如果我执行

C:\temp>type o.txt

(测试 1 中的 o.txt),结果为 ó

测试 3

执行该命令后

C:\temp> type o_src.txt > o_dst.txt

,o_src.txt 和 o_dst.txt 的内容相同。

这是如何运作的?

ó 的 ASCII 代码:F3 / 243
Ⅲ的ASCII码:A2 / 162
3/4 的 ASCII 代码:BE / 190

A command-line program outputs a list of file paths. I pipe the output to another program to do further processing. It all works fine until a file path is encountered that contains a "strange" character (ó, î, ä, etc.).

The cause of the problem seems to be the behavior described next:

Test 1

When I execute this command in cmd.exe,

C:\temp> echo ó > o.txt

the contents of the created file will be the character ¢.

Test 2

I created an input file, o_src.txt, (with my text editor) that contains the character ó.

The command

C:\temp> type o_src.txt

will print this character in cmd.exe
¾

If I execute

C:\temp>type o.txt

(o.txt from TEST 1) the result is ó

Test 3

After execution of the command

C:\temp> type o_src.txt > o_dst.txt

then the contents of o_src.txt and o_dst.txt are the same.

How does this work?

ASCII code of ó: F3 / 243
ASCII code of ¢: A2 / 162
ASCII code of ¾: BE / 190

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

偏闹i 2024-10-18 13:40:40

我相信您需要使用 CHCP 更改代码页。查看这些问题以获取更多信息。

如果调用 chcp,则不会执行批处理脚本

< a href="https://stackoverflow.com/questions/1259084/what-encoding-code-page-is-cmd-exe-using">cmd.exe 使用什么编码/代码页

Windows 命令行中的 Unicode 字符 - 如何使用?

I believe you need to change the code page using CHCP. Look at these questions for more info.

Batch script is not executed if chcp was called

What encoding/code page is cmd.exe using

Unicode characters in Windows command line - how?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文