Katakanlah bahasa asli Anda adalah bahasa Ibrani, dan Anda bekerja dalam bahasa pemrograman seperti Python 3, yang memungkinkan Anda memasukkan bahasa Ibrani ke dalam kode sumber. Bagus untukmu! Anda punya dict
:
d = {'a': 1}
dan Anda ingin menggantinya a
dengan beberapa bahasa Ibrani. Jadi Anda mengganti karakter tunggal itu:
d = {'א': 1}
Uh oh. Hanya dengan mengganti satu karakter, tanpa membuat perubahan lain , tampilan Anda menjadi gila. Segala sesuatu mulai dari bahasa Ibrani sampai yang 1
terbelakang, dan sangat tidak jelas bahwa ini bahkan sintaksis yang valid ( itu adalah ), apalagi apa artinya.
Bahasa Ibrani secara intrinsik kanan-ke-kiri, dan bahkan tanpa karakter kontrol yang tidak terlihat, teks Ibrani akan muncul dari kanan ke kiri. Ini juga berlaku untuk karakter "reguler" tertentu di posisi dekat Ibrani, serta karakter dari beberapa skrip lainnya. Detailnya rumit.
Bagaimana Anda menangani ini? Anda tidak dapat menempel karakter kontrol ke kode sumber Anda untuk memperbaiki tampilan tanpa melanggar kode. Menulis semua yang ada di hex berhasil menukar satu jenis ketidakbacaan dengan yang lain. Bahkan jika Anda mengundurkan diri untuk menamai semuanya dengan karakter dari blok Latin Dasar dan menempelkan semua string Ibrani dalam file pelokalan, sulit untuk menghindari pencampuran teks kanan-ke-kiri dengan kiri-ke-kanan.
JSON atau CSV dengan bahasa Ibrani di dalamnya akan kacau. Jika file pelokalan tempat Anda memasukkan string Anda seharusnya dapat dibaca oleh manusia, ya, mungkin tidak. Apa yang kamu kerjakan?
'.dlrow olleH'
. Jika kanan-ke-kiri, Visual Studio Anda melakukan sesuatu yang aneh yang tidak dipaksa dari kiri ke kanan atau Algoritma Bidirectional Unicode yang tepat. Kasus mana pun memiliki sumber kebingungannya sendiri.