use*_*001 5 encoding ascii cmd batch-file
这段代码:
@echo off
set /p a=Installing [<nul
set b=1
:loop
if %b% leq 2 set /p a=°<nul
if %b% gtr 4 if %b% leq 6 set /p a=±<nul
if %b% gtr 6 if %b% leq 8 set /p a=²<nul
if %b% gtr 8 if %b% leq 10 set /p a=±<nul
if %b% gtr 10 set /p a=°<nul
choice /t 1 /c y /d y>nul
set /a b=%b%+1
if %b%==13 (echo ]&goto :eof)
goto :loop
Run Code Online (Sandbox Code Playgroud)
...来自http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/MS_DOS/A_1237-DOS-ECHO-text-to-previous-line-by-Paul-Tomasi.html#c18182并生成以下内容cmd窗口中的输出:
Installing [??????????]
Run Code Online (Sandbox Code Playgroud)
但是,我似乎无法通过谷歌找到解释这是如何工作的解释.将其他扩展的ascii字符替换为它们的位置似乎产生"命令的语法不正确",因此只能设法猜测这是一个黑客,通过无意的方式将这些字符交换到扩展的ascii集中的较低字符由设计师的技巧.
如果有人也可以建议一个好的网站来了解更多关于cmd/cmd程序这样的功能,我们将不胜感激.
这是因为您的编辑器使用的编码与 DOS 和命令行使用的编码不同。
\n\n请参阅此处的字符 176-178:
\n\nhttp://academic.evergreen.edu/projects/biophysicals/technotes/program/ascii_ext-pc.htm
\n\nDOS 和 WIN 列中的字符对由相同的数值表示,但 DOS(以及命令行)和 Windows(文本编辑器)将这些数字显示为不同的符号。
\n\n如果不清楚:您的文本文件是一系列字节(数字),其中一个字节的值为 176。在 DOS代码页 437下,它用于表示 \xe2\x96\x93 字形和命令行,由于历史原因,使用与 DOS 相同的编码。但是在 Windows 上运行的文本编辑器显然使用旧的Windows-1252编码读取文件,其中 176 表示 \xc2\xb0。
\n\n你可以尝试找一个支持437的编辑器,它可以让你避免这样的困惑。
\n