utf8 type ejemplo chcp encoding batch-file cmd ascii

encoding - type - ¿Cómo produce °, ± y ² la producción de,, ▒ y ▓ en este archivo por lotes?



cmd utf8 (1)

Este código:

@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

... vino de http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/MS_DOS/A_1237-DOS-ECHO-text-to-previous-line-by-Paul-Tomasi.html#c18182 y produce el siguiente salida en una ventana de cmd:

Installing [░░▒▒▓▓▒▒░░]

Sin embargo, parece que no puedo encontrar una explicación a través de google sobre cómo funciona esto. Sustituir otros caracteres ascii extendidos en su lugar parece producir "La sintaxis del comando es incorrecta", por lo que solo hemos logrado adivinar que se trata de un truco mediante el cual algo intercambia estos caracteres por caracteres inferiores en el conjunto ascii extendido, por medio de un involuntario truco de los diseñadores

Si alguien pudiera sugerir un buen sitio web para aprender más sobre las características de los programas cmd / cmd, se lo agradecería.


Es porque su editor utiliza una codificación diferente del uso de la línea de comando y el DOS.

Vea los personajes 176-178 aquí:

http://academic.evergreen.edu/projects/biophysics/technotes/program/ascii_ext-pc.htm

Los pares de caracteres en las columnas DOS y WIN están representados por los mismos valores numéricos, pero DOS (y por lo tanto, la línea de comandos) y Windows (su editor de texto) muestran estos números como símbolos diferentes.

En caso de que no esté claro: su archivo de texto es una serie de bytes (números) y uno de estos bytes tiene el valor 176. En la página 437 de código DOS, solía indicar ▓ glifo, y la línea de comando, por razones históricas, usa la misma codificación como lo hizo DOS. Pero su editor de texto, que se ejecuta en Windows, aparentemente lee el archivo usando la antigua codificación Windows-1252 , donde 176 significa °.

Podrías tratar de encontrar un editor que soporte 437, te salvaría de tales confusiones.