Digamos que su idioma nativo es el hebreo, y está trabajando en un lenguaje de programación como Python 3, que le permite poner el hebreo en el código fuente. ¡Bien por usted! Tienes un dict
:
d = {'a': 1}
y quieres reemplazar eso a
con algo de hebreo. Entonces reemplazas ese único personaje:
d = {'א': 1}
UH oh. Simplemente reemplazando un personaje, sin hacer ningún otro cambio , su pantalla se volvió loca. Todo, desde el hebreo hasta el, 1
es al revés, y es extremadamente obvio que esto es incluso una sintaxis válida ( es ), y mucho menos lo que significa.
El hebreo es intrínsecamente de derecha a izquierda, e incluso sin ningún carácter de control invisible, el texto hebreo aparecerá de derecha a izquierda. Esto también se aplica a ciertos caracteres "regulares" en posiciones cercanas al hebreo, así como a caracteres de algunos otros guiones. Los detalles son complicados.
Como tratas con esto? No puede pegar caracteres de control en su código fuente para arreglar la pantalla sin romper el código. Escribir todo en escapes hexadecimales cambia un tipo de ilegibilidad por otro. Incluso si se resigna a nombrar todo con caracteres del bloque latino básico y pegar todas las cadenas hebreas en los archivos de localización, es difícil evitar mezclar texto de derecha a izquierda con de izquierda a derecha.
JSON o CSV con hebreo estarán confusos. Si se suponía que esos archivos de localización en los que metiste tus cadenas eran legibles para los humanos, bueno, probablemente no lo sean. ¿Qué haces?
'.dlrow olleH'
. Si es de derecha a izquierda, su Visual Studio está haciendo algo extraño que no es forzado de izquierda a derecha ni el algoritmo bidireccional Unicode adecuado. Cualquiera de los casos tiene sus propias fuentes de confusión.