Последовательность символов портит порядок символов? - PullRequest
0 голосов
/ 17 апреля 2020

Мне пришлось обработать исключение, перехватив его и сопоставив сообщение, и если сообщение содержит определенный код ошибки, сделайте что-нибудь (не актуально).

Сообщение об исключении следующее (на английском языке * 1034) *, но код и гиббери sh после него одинаковы на любом языке):

$-5002 - $make sure that the consumed quantity of the component item would not cause the item's stock to fall below zero  [ige1.whscode][line: 1] , 'production order no: 20580033 line: 1'  [الرسالة 3559-7]

Мне пришлось работать с кодом 7-3559 (как показано). В моем коде я только что сделал e.Message.Contains("7-3559"), и он не смог поймать исключение. Удивляясь, что пошло не так, я скопировал и вставил сообщение об ошибке в regex101.com, и после небольшого количества проб и ошибок я понял, что e.Message.Contains("3559-7") - это настоящий код, и он работает. Я просто не знаю почему. Что портит строку, чтобы отобразить ее таким образом, что 7- на самом деле -7, а также отстает от 3559?

Думаю, я должен также упомянуть, что я работаю с Visual Studio 2019 и C#.

Проверьте здесь регулярное выражение. https://regex101.com/r/ehHTkD/1/

HxD: enter image description here

enter image description here

1 Ответ

1 голос
/ 17 апреля 2020

Это распространенная проблема, возникающая при использовании двунаправленного текста, другими словами, текста, который содержит направленность обоих текстов: справа налево (RTL), таких как тексты на арабском языке c, и слева направо (LTR ).

Здесь у нас есть текст Arabi c, смешанный с текстом Engli sh, поэтому к тексту будут применяться некоторые правила для определения направленности. Вы можете найти подробности об этом здесь .

Короче говоря, текст, который вы видите в отладчике, - это то, как текст будет отображаться при печати, а не как он будет представлен в памяти.

Здесь я использую Linqpad, чтобы вставить текст, и редактор немедленно преобразовал его в представление в памяти. И после печати текст отображается с другой направленностью.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...