Menú
Está libre
registro
hogar  /  Consejo/ Que es ansi. Codificación de caracteres: ¿qué es el formato ANSI? Una breve historia de las codificaciones

¿Qué es ansi. Codificación de caracteres: ¿qué es el formato ANSI? Una breve historia de las codificaciones

Básicamente, "ANSI" se refiere a la página de códigos heredada en Windows. Consulte también este tema. Los primeros 127 caracteres son idénticos a ASCII en la mayoría de las páginas de códigos, pero los caracteres superiores son diferentes.

Sin embargo, ANSI automáticamente no significa CP1252 o Latin 1.

A pesar de toda la confusión, simplemente debe evitar estos problemas por el momento y utilizar Unicode.

¿Qué es el formato de codificación ANSI? eso formato del sistema¿defecto? ¿En qué se diferencia de ASCII?

Érase una vez Microsoft, como todos los demás, usaba conjuntos de caracteres de 7 bits y creaban los suyos propios cuando encajaban, aunque mantenían ASCII como subconjunto principal. Luego se dieron cuenta de que el mundo se había movido a las codificaciones de 8 bits y que existían estándares internacionales como la familia ISO-8859. En aquellos días, si deseaba un estándar internacional y vivía en los Estados Unidos, lo compraba al Instituto Nacional Estadounidense de Estándares, ANSI, que reeditó los estándares internacionales con su propia marca y números (esto se debe a que el gobierno de los EE. UU. Quiere cumplir con estándares estadounidenses, y no estándares internacionales). Entonces, una copia de Microsoft ISO-8859 decía "ANSI" en la portada. Y debido a que Microsoft no estaba muy acostumbrado a los estándares en esos días, no se dieron cuenta de que ANSI había publicado muchos otros estándares. Así que hicieron referencia a la familia de estándares ISO-8859 (y las variantes que inventaron porque no entendían los estándares en esos días) por el título en la portada "ANSI" y encontró su camino en la documentación del usuario de Microsoft y, por lo tanto, en la comunidad. usuarios. Fue hace unos 30 años, pero todavía hoy escuchas el nombre.

O puede consultar su registro:

C: \> reg query HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Nls \ CodePage / f ACP HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Nls \ CodePage ACP REG_SZ 1252 Fin de la búsqueda: 1 coincidencia (s) encontrada. C: \>

Cuando se utilizan caracteres de un solo byte, ASCII define los primeros 127 caracteres. Se definen caracteres extendidos desde 128-255 diferentes códigos ANSI para proporcionar soporte limitado para otros idiomas. Para comprender la codificación ANSI, debe saber qué página de códigos está utilizando.

Técnicamente, ANSI debería ser igual que US-ASCII. Se refiere al estándar ANSI X3.4, que es simplemente la versión ASCII de la organización ANSI. El uso de caracteres de bits superiores no está definido en ASCII / ANSI, ya que es un juego de caracteres de 7 bits.

Sin embargo, los años de mal uso del término DOS y posteriormente por parte de la comunidad de Windows han dejado su significado práctico como "la página de códigos del sistema de cualquier máquina". La página de códigos del sistema también se conoce a veces como "mbcs", como en los sistemas de Asia Oriental que pueden ser una codificación con varios bytes por carácter. Algunas páginas de códigos pueden incluso usar bytes de bits superiores como bytes de bytes en una secuencia multibyte, por lo que ni siquiera es estrictamente compatible con ASCII simple ... pero incluso entonces todavía se llama ANSI.

En la configuración predeterminada de EE. UU. Y Europa occidental, "ANSI" se asigna a página de código Windows 1252. No es lo mismo que ISO-8859-1 (aunque es bastante similar). En otras máquinas, podría haber sido cualquier cosa. Esto hace que ANSI sea completamente inútil como identificador de codificación externo.

Recuerdo cuando el texto ANSI se refería a los códigos de escape pseudo-VT-100 utilizados en DOS a través del controlador ANSI.SYS para cambiar el flujo del texto del flujo ... Probablemente no es de lo que está hablando, pero si ve

ANSI es una institución para la estandarización de métodos y tecnologías industriales. Es miembro de la Organización Internacional de Normalización (ISO). En Alemania, existe un análogo de dicha organización: el Instituto Alemán de Normalización (DIN), en Austria, el Instituto Austriaco de Normas (ASI), en Suiza, la Asociación Suiza de Normas (SNV).

Aunque los estándares ANSI se encuentran en muchas áreas industriales, la abreviatura separada "ANSI" en tecnologia computacional denota un grupo específico de caracteres basados ​​en ASCII. El estándar ANSI genuino no existe, sin embargo, los proyectos de ANSI adoptaron sin problemas el estándar ISO 8859.

Objetivos ANSI

La principal tarea del American National Standards Institute (ANSI) es la difusión e implementación de los estándares nacionales de los EE. UU. En todo el mundo, en empresas de todos los países.

Además, el trabajo de este instituto resuelve problemas de escala global:

  • protección del medio ambiente,
  • seguridad industrial,
  • seguridad del hogar.

Se sabe que en los Estados Unidos, como en Rusia, las normas están reguladas principalmente por el estado (aunque ANSI se posiciona como una organización no gubernamental sin fines de lucro), por lo tanto, el deseo de llenar este nicho y llevar todas las normas al El denominador americano es un pensamiento completamente lógico y coherente. En efecto, a través de estándares, es posible difundir no solo innovaciones puramente técnicas, sino también llevar a cabo la política exterior de estado de globalización e integración mundial.

Para apoyar el programa ANSI, el estado gasta un gran presupuesto, que se destina principalmente a la optimización, actualización y reorganización de los métodos de producción. En la industria del acero, las normas ANSI se han establecido durante mucho tiempo como algunas de las mejores del mundo.

Nuestra empresa también está dispuesta en su trabajo en la producción de productos de brida, que se venden en grandes cantidades a empresas industriales en Rusia y los países de la CEI.

A veces, incluso un especialista bastante experimentado no le dirá inmediatamente qué valor particular de presión o longitud en un sistema corresponde a valores en otro sistema de valores.

Para facilitar usted esta tarea, ofrecemos tablas de la relación de valores de presión y longitud en sistemas europeos y americanos con pequeños explicaciones... Pero primero, algunas palabras sobre los estándares en sí.


ESTRUENDO es el estándar alemán (significa Deutsches Institut für Normung, es decir, desarrollado por el Instituto Alemán de Normalización), que se desarrolla estrictamente en el marco de las disposiciones de la Organización Internacional de Normalización - ISO (Organización Internacional de Normalización).


ANSI- el estándar adoptado en los Estados Unidos de América. Representa Instituto Americano de Estándares Nacionales, es decir, el estándar del American National Standards Institute.

En consecuencia, esta institución determina los estándares ANSI, y no siempre entre estandares ESTRUENDO y ANSI el exacto conformidad en varios campos.

Conversión de unidades de presión de ANSI a DIN

Aquí todo es simple: si el estándar ANSI el número 150 está enfrente de la presión - esto significa que la presión nominal (para la cual está diseñada la válvula) es 20 bar, 300 - 50 bar, etc. Valor máximo por Clase ANSI- 2500 será igual a 420 bar según la norma europea ESTRUENDO.


Usando esta tabla, no es difícil traducir valores de presión y viceversa: desde ESTRUENDO v ANSI, aunque nuestros ingenieros necesitan llevar a cabo dicha traducción con menos frecuencia.

Conversión de unidades de longitud del sistema americano al europeo (ruso)

Como es sabido, los americanos todo se mide en pulgadas y pies, y nosotros y Europeos- milímetros, centímetros y metros, es decir, como la gran mayoría de estados del mundo, vivimos en métrico sistema de unidades.


¿Cómo convertir pulgadas a milímetros? De hecho, esto tampoco es difícil, solo recuerde que 1 pulgada equivale a 25,4 mm. Sin embargo, a menudo un dígito después del punto decimal descuidado y, por el bien de ello, indicar que 1 pulgada = 25 mm.

Así, si, por ejemplo, la sección transversal de la entrada es de 2 pulgadas según el sistema americano de medidas, entonces, traduciendo este valor a nuestro sistema de medidas según la regla anterior, obtenemos 50 mm o, más precisamente, 51 mm (redondeo 50,8 según las reglas) ...

Queda por agregar que el diámetro es técnico las características están marcadas con letras latinas DN y a menudo se indica precisamente en pulgadas, y la presión se indica con las letras PN y se indica con mayor frecuencia en barras- en cualquier caso, usamos una marca como la más cómodo.

Y la siguiente tabla ayudará puedes calcular no solo preciso la cantidad de milímetros en una pulgada (con una precisión de una milésima de milímetro), pero también te ayudará a saber cuántos milímetros hay, por ejemplo, en 2.5 pulgadas.

Para hacer esto, busque la columna 2 "" (2 pulgadas) y, a la izquierda, busque 1/2. Total 2,5 pulgadas = 63,501 mm, que es bastante posible redondear hasta 64 mm y, por ejemplo, 6,25 pulgadas (es decir, 6 y 1/4) = 158,753 mm o 159 mm.


Pulgadas "" en milímetros



ANSI Lumen (lm, lm), la unidad es ...

El lumen ANSI es una medida de la iluminación en los proyectores multimedia que produce una lámpara cuando brilla a través de una lente. "Lumen" en latín significa "ligero", ANSI significa "American National Standards Institute". Es un estándar de medición de flujo luminoso que se utiliza para comparar proyectores.

Este parámetro fue introducido en 1992 por el Instituto Americano de Estándares Nacionales como una unidad que representa el flujo luminoso promedio en una pantalla de control de 40 "a la distancia focal mínima de la lente de zoom del proyector.

La medición se realiza sobre una imagen completamente blanca, la iluminación de la pantalla se mide con un luxómetro en Lux en 9 puntos de control de la pantalla. El valor del flujo luminoso se calcula como el promedio de estas 9 mediciones, multiplicado por su área y promediado.

La energía luminosa resultante en la pantalla para cada metro cuadrado se indica en lux y se calcula mediante la fórmula: lux = lumen / m². Pero la medición de lumen / lux varía según el entorno, la configuración del dispositivo y la imagen proyectada, por lo que el lumen útil de lumen ANSI ahora se acepta ampliamente como estándar.

Esta medida le permite evaluar la uniformidad de la distribución del flujo luminoso sobre la superficie de la pantalla. Reducir el brillo de una imagen alrededor de sus bordes se denomina "punto caliente" o punto de luz. La uniformidad de la distribución del flujo luminoso se calcula como la relación entre la menor y la mayor de las medidas de iluminancia obtenidas. En buenos proyectores, este valor no cae por debajo del 70%.

Esta técnica describe con precisión el orden en que se toman las medidas. En condiciones ambientales y configuraciones del dispositivo estrictamente definidas, la imagen proyectada en la pantalla se divide por nueve a partes iguales, y en cada uno de ellos se determina la energía lumínica. El promedio de las nueve mediciones multiplicado por el área de la pantalla en m² da el valor de lumen ANSI.

Curiosamente, el flujo luminoso, a diferencia de la iluminación (medido en lúmenes ANSI), no depende del área proyectada. Además, a menudo se hace referencia a los lúmenes ANSI específicos del fabricante como referencia ajustes máximos que rara vez se utilizan en la práctica.

Además, los lúmenes ANSI suelen ser solo un promedio, lo que dificulta inferir qué tan bien o mal está el proyector para distribuir la luz a través de la superficie de la pantalla.

Los lúmenes ANSI para proyectores digitales pueden variar desde 900 lúmenes ANSI para modelos más antiguos hasta 4700 lúmenes ANSI para los dispositivos de alta potencia actuales. Un buen proyector de cine en casa digital debería tener alrededor de 2000 lúmenes ANSI.

Reg.ru: dominios y hosting

El registrador y proveedor de alojamiento más grande de Rusia.

Más de 2 millones de nombres de dominio en servicio.

Promoción, correo por dominio, soluciones empresariales.

Más de 700 mil clientes en todo el mundo ya han hecho su elección.

* Pase el mouse para pausar el desplazamiento.

De vuelta atras

Codificaciones: información útil y una breve retrospectiva

Decidí escribir este artículo como una pequeña descripción general sobre el tema de las codificaciones.

Descubriremos qué es la codificación en general y tocaremos la historia de cómo aparecieron en principio.

Hablaremos de algunas de sus características y también consideraremos los momentos que nos permiten trabajar con codificaciones de manera más consciente y evitar la aparición en el sitio de las llamadas Krakozyabrov, es decir. caracteres ilegibles.

Entonces vamos ...

¿Qué es la codificación?

Para hacerlo mas simple, codificacion es una tabla de mapeos de caracteres que podemos ver en la pantalla, a ciertos códigos numéricos.

Aquellos. cada carácter que ingresamos desde el teclado, o vemos en la pantalla del monitor, está codificado con una determinada secuencia de bits (ceros y unos). 8 bits, como probablemente sepa, equivalen a 1 byte de información, pero hablaremos de eso más adelante.

La apariencia de los símbolos en sí está determinada por los archivos de fuentes que están instalados en su computadora. Por lo tanto, el proceso de mostrar texto en la pantalla puede describirse como un mapeo constante de secuencias de ceros y unos a algunos caracteres específicos que componen la fuente.

El progenitor de todas las codificaciones modernas puede considerarse ASCII.

Esta abreviatura significa Código Estándar Americano para Intercambio de Información(Tabla de códigos estándar estadounidense para caracteres imprimibles y algunos códigos especiales).

eso codificación de un solo byte, que inicialmente contenía solo 128 caracteres: letras del alfabeto latino, números arábigos, etc.


Más tarde se expandió (inicialmente no usó los 8 bits), por lo que fue posible usar no 128, sino 256 (2 a la octava potencia) caracteres diferentes que se pueden codificar en un byte de información.

Esta mejora hizo posible agregar a ASCII símbolos de los idiomas nacionales, además del alfabeto latino ya existente.

Hay muchas opciones para la codificación ASCII extendida debido al hecho de que también hay muchos idiomas en el mundo. Creo que muchos de ustedes han oído hablar de una codificación como KOI8-R también es una codificación ASCII extendida diseñado para trabajar con los personajes del idioma ruso.

El siguiente paso en el desarrollo de codificaciones puede considerarse el surgimiento de los llamados Codificaciones ANSI.

De hecho, eran lo mismo versiones ASCII extendidas sin embargo, se han eliminado varios elementos pseudográficos de ellos y se han agregado símbolos tipográficos, para los cuales anteriormente no había suficiente "espacio libre".

Un ejemplo de tal codificación ANSI es el conocido Windows-1251... Además de los caracteres tipográficos, esta codificación también incluía letras de los alfabetos de idiomas cercanos al ruso (ucraniano, bielorruso, serbio, macedonio y búlgaro).


La codificación ANSI es un nombre colectivo... De hecho, la codificación real cuando se usa ANSI estará determinada por lo que se especifique en el registro de su sistema operativo. Sistemas Windows... En el caso del idioma ruso, será Windows-1251, sin embargo, para otros idiomas será un tipo diferente de ANSI.

Como comprenderá, un montón de codificaciones y la falta de un estándar único no trajeron buena suerte, lo que se convirtió en el motivo de frecuentes reuniones con los llamados Krakozyabrami- un conjunto de caracteres sin sentido ilegible.

La razón de su aparición es simple: es tratando de mostrar caracteres codificados con una tabla de codificación utilizando una tabla de codificación diferente.

En el contexto del desarrollo web, podemos encontrar krakozyabras cuando, por ejemplo, El texto en ruso se guarda por error con la codificación incorrecta que se utiliza en el servidor.

Por supuesto, este no es el único caso en el que podemos obtener texto ilegible; aquí hay muchas opciones, especialmente si se considera que también hay una base de datos en la que la información también se almacena en una determinada codificación, hay un mapeo de una conexión a una base de datos, etc.

La aparición de todos estos problemas sirvió de incentivo para crear algo nuevo. Tenía que ser una codificación que pudiera codificar cualquier idioma del mundo (después de todo, con la ayuda de codificaciones de un solo byte, en todo caso, no se pueden describir todos los caracteres, digamos, chino, donde claramente hay más de 256), cualquier carácter especial y tipografía adicionales.

En resumen, era necesario crear una codificación universal que resolvería el problema de krakozyabrov de una vez por todas.

Unicode: codificación de texto universal (UTF-32, UTF-16 y UTF-8)

El estándar en sí fue propuesto en 1991 por una organización sin fines de lucro. Consorcio Unicode(Unicode Consortium, Unicode Inc.), y el primer resultado de su trabajo fue la creación de la codificación UTF-32.

Por cierto, la abreviatura en sí UTF representa Formato de transformación Unicode(Formato de conversión Unicode).

En esta codificación, para codificar un carácter, se suponía que debía usar tanto 32 bits, es decir. 4 bytes de información. Si comparamos este número con codificaciones de un solo byte, llegamos a una conclusión simple: para codificar 1 carácter en esta codificación universal, necesita 4 veces más bits, lo que hace que la lima sea 4 veces más pesada.

También es obvio que el número de caracteres que podrían describirse potencialmente usando esta codificación excede todos los límites razonables y está técnicamente limitado a un número igual a 2 elevado a 32. Está claro que esto fue una exageración y un desperdicio evidentes en términos del peso de los archivos, por lo que esta codificación no se ha generalizado.

Fue reemplazado por un nuevo desarrollo: UTF-16.

Como su nombre lo indica, en esta codificación se codifica un carácter ya no 32 bits, sino solo 16(es decir, 2 bytes). Obviamente, esto hace que cualquier carácter sea dos veces más "ligero" que UTF-32, pero dos veces más "pesado" que cualquier carácter codificado de un solo byte.

El número de caracteres disponibles para codificar en UTF-16 es de al menos 2 elevado a 16, es decir, 65536 caracteres. Todo parece ir bien, además de que el tamaño final del espacio de código en UTF-16 se ha ampliado a más de 1 millón de caracteres.

Sin embargo, esta codificación no satisfizo completamente las necesidades de los desarrolladores. Por ejemplo, si escribe utilizando exclusivamente caracteres latinos, luego de cambiar de la versión extendida de la codificación ASCII a UTF-16, el peso de cada archivo se duplicó.

Como resultado, se hizo otro intento de crear algo universal, y ese algo es la conocida codificación UTF-8.

UTF-8- este es codificación multibyte con longitud de caracteres variable... Al observar el nombre, uno podría pensar, por analogía con UTF-32 y UTF-16, que se usan 8 bits para codificar un carácter, pero este no es el caso. Más precisamente, no tanto.

Esto se debe a que UTF-8 proporciona la mejor compatibilidad con sistemas más antiguos que usaban caracteres de 8 bits. Para codificar un carácter en UTF-8 se usa realmente 1 a 4 bytes(hipotéticamente, son posibles hasta 6 bytes).

En UTF-8, todos los caracteres latinos están codificados en 8 bits, al igual que en la codificación ASCII... En otras palabras, la parte básica de la codificación ASCII (128 caracteres) se ha trasladado a UTF-8, lo que le permite "gastar" solo 1 byte en su representación, manteniendo la universalidad de la codificación para la que se inició todo.

Entonces, si los primeros 128 caracteres están codificados con 1 byte, todos los demás caracteres se codifican con 2 o más bytes. En particular, cada carácter cirílico está codificado con exactamente 2 bytes.

Por lo tanto, obtuvimos una codificación universal que nos permite cubrir todos los caracteres posibles que deben mostrarse, sin "ponderar" innecesariamente los archivos.

¿Con o sin BOM?

Si trabajaste con editores de texto(editores de código) como Bloc de notas ++, phpDesigner, php rápido etc., probablemente llamó la atención sobre el hecho de que al especificar la codificación en la que se creará la página, puede elegir, como regla, 3 opciones:

ANSI
- UTF-8
- UTF-8 sin BOM


Debo decir de inmediato que siempre es la última opción que vale la pena elegir: UTF-8 sin BOM.

Entonces, ¿qué es BOM y por qué no lo necesitamos?

BOM representa Marca de orden de bytes... Este es un carácter Unicode especial que se usa para indicar el orden de los bytes. Archivo de texto... Según la especificación, su uso es opcional, pero si BOM se utiliza, entonces debe establecerse al principio del archivo de texto.

No entraremos en detalles del trabajo. BOM... Para nosotros, la principal conclusión es la siguiente: el uso de este carácter de servicio junto con UTF-8 evita que los programas lean la codificación normalmente, como resultado de lo cual se producen errores en el trabajo de los scripts.