2013-04-13 4 views
2

Я собираюсь показать Unicode динамически,Динамический генерировать 8-Digit-Unicode для символов

К примеру, я знаю "\U00020001" будет отображаться символ. (переменная «standard_format» ниже). Однако я могу показать всю строку напрямую ("\U00020001").

Я хотел бы знать, как я могу показать эту строку в символ.

image reference

ответ

2

Если вы пишете "\U0002B695" вся строка будет распознаваться как побег последовательность. Однако в "\\U0002B695" только \\ будет распознаваться как escape-последовательность для \. Я не знаю, как построить строковый литерал таким образом, а затем проанализировать его, как это сделал бы компилятор.

Для того, чтобы получить строку, которую необходимо преобразовать шестнадцатеричное значение в межд, а затем преобразовать его в строку:

string txt_unicodePoint = "2B695"; 

int value = int.Parse(txt_unicodePoint, System.Globalization.NumberStyles.HexNumber); 
string result = char.ConvertFromUtf32(value).ToString(); 
+0

это круто. он работает, знаете ли вы, как редактировать заголовок html, чтобы отобразить этот символ в обычном режиме? –

+0

@ K.C: Возможно, это помогает: http://stackoverflow.com/questions/1696619/displaying-unicode-symbols-in-html – pescolino

1

Я верю, что вы хотите Char.Parse(string s)http://msdn.microsoft.com/en-us/library/system.char.parse.aspx Вы бы передать ему вашу сбежавшую последовательность «\ U000 ...» строка

+0

я использовал строку output2 = Char.Parse (выход) .ToString(); –

+0

, но есть и другая ошибка: Строка должна быть ровно один символ длинной. –

+0

Это очень верно. Если вы пытаетесь вытащить эти escape-последовательности из существующей строки, вам придется сопоставить регулярное выражение для них и разобрать отдельно. Какова цель этого? это какой-то раздел «compose» формы, где люди могут вводить эти последовательности, и вы хотите показать закодированную строку? – djcrabhat

Смежные вопросы