Giả sử ngôn ngữ mẹ đẻ của bạn là tiếng Do Thái và bạn đang làm việc với ngôn ngữ lập trình như Python 3, cho phép bạn đặt tiếng Do Thái vào mã nguồn. Tốt cho bạn! Bạn đã có một dict
:
d = {'a': 1}
và bạn muốn thay thế điều đó a
bằng một số tiếng Do Thái. Vì vậy, bạn thay thế ký tự duy nhất:
d = {'א': 1}
À ồ. Chỉ bằng cách thay thế một ký tự, mà không thực hiện bất kỳ thay đổi nào khác , màn hình của bạn trở nên điên rồ. Tất cả mọi thứ từ tiếng Do Thái đến 1
lạc hậu đều lạc hậu và điều này cực kỳ không rõ ràng rằng đây thậm chí là cú pháp hợp lệ ( đúng là như vậy ), chứ đừng nói đến ý nghĩa của nó.
Tiếng Do Thái về bản chất là từ phải sang trái và thậm chí không có bất kỳ ký tự điều khiển vô hình nào, văn bản tiếng Do Thái sẽ hiển thị từ phải sang trái. Điều này cũng áp dụng cho một số ký tự "thông thường" ở các vị trí gần tiếng Do Thái, cũng như các ký tự từ một vài chữ viết khác. Các chi tiết phức tạp.
Làm thế nào để bạn đối phó với điều này? Bạn không thể dán các ký tự điều khiển vào mã nguồn của mình để sửa màn hình mà không làm hỏng mã. Viết tất cả mọi thứ trong hex thoát giao dịch một loại không thể đọc được cho người khác. Ngay cả khi bạn từ bỏ việc đặt tên mọi thứ bằng các ký tự từ khối Latin cơ bản và dán tất cả các chuỗi tiếng Do Thái vào các tệp bản địa hóa, thật khó để tránh trộn văn bản từ phải sang trái với từ trái sang phải.
JSON hoặc CSV có tiếng Do Thái trong đó sẽ bị cắt xén. Nếu những tập tin bản địa hóa mà bạn đưa chuỗi của bạn vào được cho là có thể đọc được, thì có lẽ chúng không phải. Bạn làm nghề gì?
'.dlrow olleH'
. Nếu nó từ phải sang trái, Visual Studio của bạn đang làm một điều kỳ lạ không bắt buộc từ trái sang phải cũng như Thuật toán hai chiều Unicode thích hợp. Hoặc là trường hợp có nguồn gây nhầm lẫn riêng của mình.