2010-08-06 3 views
3

Я код:C#, TextBox.Text кодирование

string text = sampleTextBox.Text; 

и мне интересно, в какую кодировку текста? Это utf16 (как строка) или, может быть, это моя кодировка операционной системы?

ответ

9

Это все Unicode, в основном - нет конверсии между текстовыми типами .NET (char/string) и двоичным кодом, поэтому нет необходимости кодировать.

Вы потенциально нужно беспокоиться о суррогатном паре, чтобы получить из текстового представления UTF-16 char и string к полному UTF-32, но это немного отличается от обычных проблем кодирования.

Философски, текстовое поле содержит текст, а не двоичные данные. Вы должны думать только об кодировании, когда есть преобразование в двоичный формат - например, файл.

3

Строковые переменные в .Net являются внутренними UTF-16. Кодирование вступает в игру, когда вы хотите вывести строку вне вашей программы: файл, веб-страницу или по сети в некотором роде.

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