Corregir codificación de subtítulos
O pega el texto de los subtítulos
Opciones
Esta opción cambia cómo se lee el archivo, no lo que se escribe. Normalmente la codificación se deduce de los primeros bytes: una marca de orden de bytes si la hay, UTF-8 si el archivo es UTF-8 válido y Windows-1252 en caso contrario. Eso acierta con los archivos de Europa Occidental y falla con todos los demás, así que un archivo japonés, chino, coreano o cirílico llega como una pantalla de acentos sin sentido. Indica aquí la codificación y se omite la deducción. Detectar automáticamente es el valor predeterminado y no hace nada, por eso es seguro dejarlo. Ten en cuenta que el resultado se escribe de vuelta como UTF-8: los navegadores solo pueden producir unas pocas codificaciones, y ninguna de las de esta lista está entre ellas. Ese es el objetivo de la página: el texto sale correcto y en una forma que toda herramienta puede leer.
La velocidad de fotogramas con la que se cuentan los tiempos. En las páginas de formato es lo que necesita MicroDVD, porque guarda los tiempos como números de fotograma. En las páginas de velocidad de fotogramas es la velocidad con la que se cronometró el archivo (la versión para la que se hicieron los subtítulos), y el segundo recuadro de la página toma la velocidad del video con el que vas a usarlos. 23,976, 24, 25, 29,97, 30, 50, 59,94 y 60 son las habituales. Equivocarla desplaza toda la línea de tiempo, y en las páginas de velocidad de fotogramas la desplaza por una proporción en lugar de por una cantidad fija.
Algunos archivos de subtítulos llegan como una pantalla llena de símbolos que no pertenecen a ningún idioma. El archivo no está dañado y el texto no ha desaparecido: el programa que lo leía aplicó la regla equivocada a los bytes, y los caracteres que salieron son lo que esos bytes significan bajo otra regla. Esta página te deja decir qué regla usar, y la aplica antes de que le ocurra cualquier otra cosa al archivo.
La razón de que tengas que decirlo tú es que los bytes normalmente no lo dicen. Un programa que abre un archivo de subtítulos adivina: una marca al principio lo resuelve, un UTF-8 válido lo resuelve, y si no, recurre a algo —habitualmente la página de códigos local de quien ejecuta la herramienta y no de quien escribió el archivo—. Los archivos de subtítulos en japonés, coreano y chino son los casos en los que la adivinanza falla más a menudo, porque esas codificaciones eran las predeterminadas en las máquinas que los produjeron y sus bytes no son UTF-8 válido. Quien sabe qué programa escribió el archivo sabe más que el adivinador, y esta página es donde va ese conocimiento.
Automático es el valor predeterminado y significa que la adivinanza se ejecuta exactamente como siempre, así que abrir esta página sobre un archivo que ya se lee bien no cambia nada. Elige una codificación concreta y el archivo se lee así en su lugar, antes de analizar los subtítulos, y por eso esta página no tiene un paso separado de «aplicar» en el sentido habitual, y por eso un archivo que se lee bien puede salir de ella con los mismos bloques, códigos de tiempo y finales de línea y un conjunto de caracteres completamente distinto. Lo que eliges es la lectura, no una edición.
Dos cosas del resultado conviene saberlas de antemano, y la página informa de las dos. La primera es que una elección equivocada se ve como una elección equivocada: los símbolos cambian a otros símbolos en lugar de a texto, y probar no daña nada. La segunda es una limitación real del navegador: las codificaciones que aquí puede leer un navegador no todas las puede escribir. Un archivo reparado como Shift-JIS, GBK, Big5 o EUC-KR se escribe por tanto como UTF-8, que se lee correctamente en todas partes y es lo que esperan las herramientas modernas, pero no es la codificación que nombraste; si un sistema de más abajo exige la original, convierte el archivo con una herramienta de escritorio después de repararlo aquí.
Una entrada de la lista merece una palabra propia. ISO-8859-1 y automático llegan a la misma tabla de códigos en un navegador, porque la norma dice que esa etiqueta significa la de Europa occidental. Aun así merece la pena tenerla, porque hace algo que automático no puede: anula la adivinanza. Un archivo de Europa occidental cuyos bytes forman por casualidad una secuencia UTF-8 válida se lee como UTF-8 automáticamente, y los caracteres que ves entonces no son los del archivo; nombrar ISO-8859-1 fuerza la lectura occidental. Se aceptan los doce formatos de subtítulos y no se sube nada: el archivo se lee y se escribe dentro de tu navegador.
Ejemplos
Detección automática en un archivo que ya se lee bien
Entrada
1
00:00:01,000 --> 00:00:02,000
The room is dark.
2
00:00:03,000 --> 00:00:04,000
A cold night.
Resultado
1
00:00:01,000 --> 00:00:02,000
The room is dark.
2
00:00:03,000 --> 00:00:04,000
A cold night.
El ajuste predeterminado, y el único que no pide nada: con automático seleccionado no se nombra ninguna codificación, así que el archivo se lee exactamente como se leía antes de que existiera esta página. Eso lo hace seguro de abrir sobre un archivo del que no estás seguro —si no había nada mal, no pasa nada— y es el ajuste al que volver cuando una elección concreta empeoró las cosas.
El mismo archivo leído como Shift-JIS
Entrada
1
00:00:01,000 --> 00:00:02,000
こんにちは、いい天気ですね。
Resultado
1
00:00:01,000 --> 00:00:02,000
こんにちは、いい天気ですね。
El mismo archivo leído de dos maneras. Lo que contiene el panel una vez leídos los bytes como Shift-JIS es el japonés que decían desde el principio; leídos como texto occidental, esos mismos bytes son una línea de letras acentuadas sin relación, y ese es el estado que lleva a la gente a buscar esta página. Los dos paneles de este ejemplo muestran la versión legible, porque la relectura ocurre antes de analizar los subtítulos: no hay ningún paso de la página en el que los caracteres equivocados estén en pantalla y los correctos no.
Un archivo occidental que la detección automática lee como UTF-8
Entrada
1
00:00:01,000 --> 00:00:02,000
Café Ã la carte
Resultado
1
00:00:01,000 --> 00:00:02,000
Café Ã la carte
El caso difícil, y el único en el que automático y una codificación nombrada discrepan en un navegador. Los bytes del archivo forman por casualidad una secuencia UTF-8 válida, así que la adivinanza es UTF-8 y los caracteres que se entregan no son los del archivo. Nombrar ISO-8859-1 fuerza en cambio la lectura de Europa occidental. La tabla de códigos es la misma en los dos casos, que es la parte que es fácil equivocar leyendo documentación antigua: lo que hace la elección es anular la adivinanza.
Preguntas frecuentes
¿Por qué mi archivo de subtítulos muestra caracteres extraños en lugar del texto correcto?
Porque los bytes se leyeron con la regla equivocada. El archivo contiene texto en japonés, coreano o cirílico guardado en la codificación que usó el programa que lo escribió, y el programa que lo lee supuso otra cosa, muy a menudo la página de códigos local de la máquina y no la del archivo. Nada está dañado: los mismos bytes con la regla correcta dan el texto correcto, que es lo que hace nombrar una codificación en esta página.
¿Cómo averiguo en qué codificación está realmente un archivo de subtítulos?
Normalmente por lo que lo produjo. Un archivo japonés de una herramienta japonesa de Windows es muy probablemente Shift-JIS; uno chino de China continental es GBK y de Taiwán es Big5; el coreano es EUC-KR; y el cirílico es Windows-1251 la mayoría de las veces. Si no, pruébalas: la elección equivocada da símbolos y la correcta da texto, así que un archivo se puede identificar en unos segundos sin saber nada de él.
¿Qué pasa si elijo la codificación equivocada para mi archivo de subtítulos?
Los caracteres cambian a otro conjunto de caracteres equivocados, y no pasa nada más: el archivo original de tu disco queda intacto, y no se sube ni se guarda nada en ninguna parte. Volver a intentarlo es gratis. El único resultado que conviene vigilar es un archivo que se lee bien pero muestra una línea sospechosamente larga de símbolos arriba, lo que significa que también lleva una marca que la codificación elegida leyó como caracteres.
¿Por qué mi archivo reparado se escribe como UTF-8 si elegí Shift-JIS?
Porque el navegador puede leer esa codificación pero no escribirla. Un archivo leído como Shift-JIS, GBK, Big5 o EUC-KR se vuelve a escribir como UTF-8, que contiene todos los caracteres que lleva y es lo que espera casi todo el software actual. El texto de los subtítulos es exactamente lo que ves en el panel; solo cambió el continente. Si un sistema de más abajo exige la codificación original, convierte el archivo reparado con una herramienta de escritorio.
¿Reparar la codificación modifica el texto de mis subtítulos?
No. Los bytes de tu archivo no se alteran, y ningún carácter se añade, se quita ni se sustituye; lo que cambia es la regla usada para convertir esos bytes en texto, y todo lo que viene después de ese paso trabaja con el texto correcto. Los números de bloque, los códigos de tiempo y los finales de línea son los del archivo, exactamente como en todas las demás páginas de operaciones de este sitio.
¿Basta con la detección automática de codificación o debo fijarla siempre?
Automático acierta en la gran mayoría de los archivos, y es el valor predeterminado porque un archivo que se lee bien no debería necesitar que digas nada. Fija la codificación cuando el texto esté visiblemente mal, cuando sepas qué produjo el archivo o cuando un lote venga de una sola fuente y deba leerse de una sola manera. Un caso en el que no ayudará: un archivo en una codificación para la que el navegador no tiene ningún decodificador, que seguirá mal elijas la opción que elijas.