Vaya, siempre estuve persuadido de que era así, desde los viejos tiempos. Bueno, gracias a ti me quedó esclarecido :)

--
Saludos,

Luis Esteban de Dios Núñez

En Wed, 17 Jun 2009 13:12:12 -0400, Alvaro Herrera <alvhe...@alvh.no-ip.org> escribió:

Luis Esteban de Dios Núñez escribió:
Hola,

otros en otra.  (ASCII es una codificación de 7 bits; no hay acentos ni
ñ en ASCII.  La codificación SQL_ASCII no es realmente ASCII, sino que

El código ASCII estándar no ocupa 1 byte(8 bits), donde el código de:

á es 160
é es 130
í es 161
ó es 162
ú es 163
ñ es 164 y
el de la Ñ es 165?

Estás en un error -- esos caracteres no están en ASCII.  Los valores que
das son de una tabla de codificación que si mal no recuerdo es CP850 (o
quizás CP437), que es una extensión de ASCII definido por Microsoft o
IBM, en el cual se usó el octavo bit para definir caracteres especiales.

Latin1 es lo mismo: una extensión de ASCII que ocupa el octavo bit.  La
diferencia es que en Latin1 la tabla para los caracteres con el octavo
bit encendido es distinta a la de CP850.

En latin1 (fuente: es.wikipedia.org)

      Oct   Dec   Hex   Carac   Descripción
------------------------------------------------------------------ 301
0193   C1      Á     A MAYÚSCULA CON ACENTO AGUDO 311   0201   C9      É
E MAYÚSCULA CON ACENTO AGUDO 315   0205   CD      Í     I MAYÚSCULA CON
ACENTO AGUDO 323   0211   D3      Ó     O MAYÚSCULA CON ACENTO AGUDO 332
0218   DA      Ú     U MAYÚSCULA CON ACENTO AGUDO 341   0225   E1      á
A MINÚSCULA CON ACENTO AGUDO 351   0233   E9      é     E MINÚSCULA CON
ACENTO AGUDO 355   0237   ED      í     I MINÚSCULA CON ACENTO AGUDO 363
0243   F3      ó     O MINÚSCULA CON ACENTO AGUDO

Como ves, los valores son distintos de los que citaste.


Esto es lo que dice la wikipedia sobre CP437:

        IBM PC or MS-DOS code page 437, often abbreviated CP437 and also
known as, DOS-US, OEM-US or sometimes misleadingly referred to as the
OEM font, High ASCII or Extended ASCII,[1][2] is the original character
set of the IBM PC, circa 1981.

        In a more strict sense, this character set was not born as a
real code page (in its present sense) but being merely the graphical
glyph repertoire available in the ROM of the IBM Monochrome Display
Adapter (MDA) and Color Graphics Adapter (CGA) video output cards of the
original IBM PC; that is, it was implemented on hardware.


UTF8 es una extensión distinta que utiliza el octavo bit para señalar
que viene una secuencia de bytes especial (de más de un byte) que
codifica un carácter que no está en ASCII.  A su vez, UTF16 es un
conjunto de caracteres completamente diferente en el cual todos los
caracteres (incluso los que están en ASCII) son representados por un par
de bytes (o más de un par, en el caso de los caracteres que no cupieron
en la primera definición de UTF16 hace varios años).



---------------------------------------
   Red Telematica de Salud - Cuba
          CNICM - Infomed
--
TIP 2: puedes desuscribirte de todas las listas simultáneamente
   (envía "unregister TuDirecciónDeCorreo" a majord...@postgresql.org)

Responder a