2016-05-17 44 views
2

我有以下字符串:無法使用雙向語言編寫字符串。好像不可能的任務

א 2 1 ב 

2 R2L字符(希伯來文或阿拉伯文)在中間2位數字。所有字符用空格分隔。

現在我需要在兩個數字之間插入一個英文字符,比如說一個大寫'X'。任何我嘗試洗牌的字符串。如何輸入這些字符序列而不會搞亂這個字符串?

+0

以及對最過分戲劇化問題標題的獎勵去... –

+0

是有幫助,但:https://en.wikipedia.org/wiki/Left-to-right_mark –

+0

我沒有發佈這個問題作爲一個謎語。這是我們在將數據從遺留系統轉換爲新環境的項目中遇到的問題。在雙向時代之前,R2L語言的字符替換了ASCI表中的小寫英文字符,並且沒有任何雙向算法。在傳說中的VT終端中,我們使用了escape命令在光標方向之間切換。這些琴絃看起來很正確。我們現在正在研究一種工具,可以將這些複雜的字符串轉換爲可視的外觀,因爲它們在傳統數據庫中的外觀相同。 –

回答

0

解決與所有數字和所有RTL字符配合使用的問題的最佳方法是使用this answer to a similar question中指示的LTR標記。

所以你的字符串將需要的字符:

U+05D4

U+200E

U + 0020(簡單的空間)

U + 0031(簡單1)

U + 0020(簡單空間)

U + 00XX(任何正常ASCII字母)

U + 0020(簡單空間)

U + 0032(簡單2)

U + 0020(簡單空間)

U+05D0 (或數學阿列夫,如果你寧願)

你只需要在RTL(希伯來語或Ara bic)信件。