[C con Clase] [Bulk] Re: Varias dudas del curso

Steven Richard Davidson stevenrichard.davidson en gmail.com
Mie Nov 28 13:51:23 CET 2007


Hola Zelion,

On 11/28/07, ZeLion <Zelion_cracking en yahoo.es> wrote:
> Que tal Steven.
> Tienes razon, la culpa de los yankies jejeje.
>

Como siempre :)

> Pero ya que ha salido el tema:
> ¿el codigo ASCII no viene dado por el mapa del teclado configurado?, quiero
> decir que si tienes un teclado en español tendras que disponer de ASCII de
> 8bits, ya que si no no se pueden formar acentos ni 'ñ' ¿no?
>
> Entiendo que no forma parte del Standard pero en cualquier caso si no se
> dispone de la extensión a 8 bits no se pueden escribir caracteres
> especiales, asi que ¿Cuál seria la solucion? (no poner acentos,jejeje).
> No, en serio, la verdad es que no se que que plataforma usa ASCII7 o ASCII8,
> solo se que sobre win32 se usa ASCII8, que puede ser por que tengo la
> configuración regional de España. Es algo que nunca me he planteado a fondo.
>

Ten presente que ASCII fue creado hace varias décadas por y para
estadounidenses, principalmente. Como todos sabemos, toda o casi toda
la tecnología de informática proviene de EE.UU.. Por lo tanto es de
esperar que los estándares continúen a raíz del idioma inglés. De
hecho, no tenemos que ir más allá de la sintaxis de los propios
lenguajes de C y C++ para ver su influencia.

Volviendo al tema de las teclas del teclado (valga la redundancia),
éstas no envían códigos ASCII sino "códigos de escaneo de teclas".
Digamos que son códigos particulares de cada teclado que a veces se
llaman códigos OEM de teclas. Cada fabricante de teclados puede
diseñar sus propios códigos para cada tecla. Típicamente, el teclado
"normal" lleva los mismos códigos, pero algunos fabricantes agregan
otras teclas especiales que no son estándares y por tanto tienen otros
códigos. Luego, la BIOS puede interpretar algunos de estos códigos
traduciéndolos a ASCII.

Ten en cuenta que el sistema operativo también puede "meterse" en este
asunto y aplicar otros criterios a los códigos de escaneo. En el caso
de MS-Windows, éste usa fuentes y cada fuente tiene su propia tabla de
asociación de códigos con caracteres. Si la tabla es compatible con
ASCII7, entonces es una tabla estándar. Sin embargo, el 8º bit puede
contener cualesquier caracteres. Algunas fuentes contienen los mismos
caracteres añadidos (no estándares), pero organizados de diferente
manera, mientras que otras fuentes contienen caracteres completamente
distintos. De hecho, si escoges la fuente "wingdings", verás que ahí
no hay caracteres válidos ni ASCII7 ni ASCII8 ni nada. Sin embargo,
por mucho que aprietes la tecla "a", siempre te saldrá el mismo
garabato.

Otra cosa es la "página de código del país" que MS-DOS y MS-Windows
usan para determinar cuál tabla usar según el teclado del país.
Algunos otros sistemas operativos también usan esta página.


Espero haber aclarado el asunto.

Steven




Más información sobre la lista de distribución Cconclase