Convertir codificación de subtítulos
O pega el texto de los subtítulos
Opciones
Esto cambia los bytes, no los subtítulos. Cada carácter del archivo se escribe en la codificación que elijas, así que un reproductor o un script que exija una codificación recibe un archivo que puede leer. UTF-8 es la que todo lo moderno espera y la que este sitio escribe en todas partes. UTF-8 con BOM son los mismos bytes con la marca de tres bytes delante. UTF-16 LE es lo que los programas de Windows llaman Unicode y ocupa aproximadamente el doble. Windows-1252 es la codificación de Europa Occidental más antigua, un byte por carácter, y es con la que hay que tener cuidado: no tiene sitio para chino, japonés, coreano, cirílico, griego ni emoji, así que cada carácter que no puede escribir sale como signo de interrogación y se cuenta en el informe de arriba. Nada más del archivo cambia.
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.
La codificación de caracteres de un archivo es la regla que convierte su texto en bytes, y es la única propiedad de un archivo de subtítulos que no se puede ver mirándolo. El Bloc de notas, un navegador, un servidor de emisión y un televisor tienen que recibirla o adivinarla, y cuando la adivinan de forma distinta el texto llega como símbolos que no pertenecen a ningún idioma. Esta página escribe un archivo con la codificación que le indiques, para que el extremo que lo lea no tenga nada que adivinar.
El valor predeterminado es conservar la codificación con la que llegó el archivo, que es lo que quieres casi siempre: una operación como desplazar un subtítulo en el tiempo no tiene por qué reescribir la codificación, y un archivo que era UTF-16LE al entrar sigue siendo UTF-16LE al salir. Cambia este ajuste solo cuando algo delante de ti nombre una codificación —una especificación de entrega, una herramienta que rechaza el archivo, un reproductor que muestra caracteres equivocados— o cuando estés uniformando una carpeta de archivos que vienen de sitios distintos.
Las cuatro opciones del panel son las que surgen. UTF-8 es lo que usan la web y la mayoría de las herramientas modernas, y lo que escriben por defecto todas las páginas de conversión de este sitio. UTF-8 con marca son los mismos bytes con tres más delante, para los programas de Windows que deciden mirando los bytes iniciales. UTF-16LE es lo que las herramientas de subtítulos de Windows llaman Unicode, y guarda cada carácter como dos bytes, así que el archivo sale con el doble de tamaño aproximadamente. Windows-1252 es la codificación europea occidental más antigua, que todavía escriben muchas herramientas de emisión europeas, y solo puede contener los acentos de las lenguas de Europa occidental y nada más.
Ese último punto es una pérdida, y es la razón de que esta página informe de ella antes de que confirmes. Guarda subtítulos en japonés, chino, cirílico o griego como Windows-1252 y los caracteres que no tienen byte en esa codificación se escriben como signos de interrogación: el archivo no está roto, los caracteres equivocados han desaparecido. El informe que hay sobre el espacio de trabajo los cuenta y dice cuántos, y el recuento viene de la misma tabla de códigos con la que escribe el codificador, así que el número que lees es el número de signos de interrogación que obtendrás. Si el recuento no es cero, elige otro destino.
Los dos paneles de esta página pueden verse idénticos, y eso es lo esperado y no un fallo: una codificación es una propiedad de los bytes, y los paneles contienen los caracteres. El cambio ocurre en el momento en que se escribe el archivo, que es cuando lo descargas. La fila de cada archivo dice con qué codificación se leyó y añade una segunda etiqueta con la codificación con la que se escribirá cuando las dos difieran. No se sube nada y el trabajo se hace en tu navegador.
Ejemplos
Un archivo de subtítulos inglés escrito como UTF-8
Entrada
1
00:00:01,000 --> 00:00:02,000
The room is dark.
Resultado
1
00:00:01,000 --> 00:00:02,000
The room is dark.
El valor predeterminado, y la codificación que escriben todas las demás páginas de este sitio. La salida es igual a la entrada porque UTF-8 es lo que el archivo ya era. Lo que fija este caso es lo negativo: elegir una codificación no normaliza nada más del archivo, así que un bloque no pierde sus finales de línea, no gana una marca ni cambia su código de tiempo porque hayas visitado esta página.
El mismo archivo escrito como UTF-16LE
Entrada
1
00:00:01,000 --> 00:00:02,000
The room is dark.
Resultado
1
00:00:01,000 --> 00:00:02,000
The room is dark.
Los programas de subtítulos de Windows llaman a esto Unicode, y es la codificación que produce la mayor diferencia visible en el archivo: cada carácter pasa a dos bytes, se pone una marca delante y el resultado mide aproximadamente el doble. Nada de eso se ve en estos paneles, porque contienen caracteres: el tamaño del archivo en el gestor de archivos y su codificación en tu editor son donde se nota la diferencia.
Subtítulos en japonés escritos como Windows-1252
Entrada
1
00:00:01,000 --> 00:00:02,000
こんにちは
Resultado
1
00:00:01,000 --> 00:00:02,000
こんにちは
Cinco kana y una codificación sin sitio para ninguna de ellas, así que el informe de pérdidas de esta pasada cuenta cinco caracteres que se convierten en signos de interrogación. Los paneles siguen mostrando los kana, porque la sustitución ocurre cuando se escribe el archivo y no cuando se lee. Esa separación es deliberada: puedes ver lo que dice el archivo y, en el informe, lo que estarías dejando por el camino al escribirlo así.
Preguntas frecuentes
¿Cuál es la diferencia entre la codificación de un archivo de subtítulos y su formato?
El formato es cómo organiza el archivo los números de bloque, los códigos de tiempo y el texto —SRT, WebVTT, ASS y demás— y es algo que se puede leer. La codificación es cómo se convierten esos caracteres en bytes, y es invisible: el mismo archivo SRT puede guardarse como UTF-8, UTF-16 o Windows-1252 y verse idéntico en cualquier editor. Esta página cambia lo segundo y deja lo primero en paz; las páginas de conversión cambian lo primero.
¿Qué ocurre con los caracteres que la codificación de destino no puede representar?
Se escriben como signos de interrogación, y la página te dice cuántos antes de que descargues. Windows-1252 cubre las letras de Europa occidental y no tiene byte para japonés, chino, coreano, cirílico, griego ni emoji, así que esos caracteres no pueden sobrevivir en ninguna forma: no hay error ni sustitución que conserve el significado. El recuento del informe de pérdidas es el número de signos de interrogación del archivo que obtendrías, calculado con la misma tabla que usa el escritor.
¿Por qué los dos paneles se ven igual cuando convierto la codificación de un archivo de subtítulos?
Porque los paneles contienen caracteres y la elección es sobre bytes. El texto es texto; que cada carácter ocupe uno, dos o tres bytes se decide cuando se escribe el archivo, en el momento de la descarga. La fila de la cola nombra la codificación con la que se leyó cada archivo y añade una segunda etiqueta cuando la codificación con la que se escribirá es distinta, y tu propio editor informará de la codificación del archivo que guardes.
¿Qué codificación debo elegir para un archivo de subtítulos que voy a entregar?
UTF-8 salvo que algo en la especificación diga lo contrario, y la especificación suele decirlo. Windows-1252 es habitual en entregas de emisión europeas y solo es segura para texto de Europa occidental; UTF-16LE es lo que puede exigir una herramienta de autoría solo para Windows. Si el archivo ya estaba en una codificación adecuada, el valor predeterminado la conserva, que es la respuesta más segura de todas cuando nada ha ido mal.
¿Elegir UTF-16 hace que mi archivo de subtítulos mida el doble?
Sí, aproximadamente. Cada carácter se guarda como dos bytes, así que un archivo de subtítulos en inglés de 20 KB pasa a unos 40 KB, y un paso de compresión general posterior elimina buena parte de esa diferencia. La marca delante añade dos bytes más. El tamaño es el precio de la propiedad que hizo común el UTF-16 en Windows: cada carácter mide lo mismo, y el software antiguo lo manejaba con más facilidad.
¿Por qué no hay una opción UTF-16 big endian en la lista de codificaciones?
Porque nadie la elige, y los archivos que ya están en ella se manejan de todos modos. Un archivo que llega como UTF-16 big endian se vuelve a escribir como UTF-16 big endian con el ajuste predeterminado, ya que conservar la codificación de entrada es lo que hace la página cuando no nombras ninguna. La lista contiene los cuatro destinos que la gente pide de verdad; el escritor subyacente cubre big endian para que conservar un archivo como estaba nunca lo cambie en silencio.