C # ASCII или Unicode - PullRequest
       10

C # ASCII или Unicode

5 голосов
/ 11 января 2010

привет, я новичок в программировании и разработке сетей. У меня есть вопрос относительно кодировки ASCII и Unicode.

в msdn и других веб-примерах делают следующее:

byte[] byteData = Encoding.ASCII.GetBytes(data);

это потому что эти примеры кода старые? не должно быть:

byte[] byteData = Encoding.Unicode.GetBytes(data);

спасибо за ваш вклад!

1 Ответ

10 голосов
/ 11 января 2010

Зависит от того, хотите ли вы, чтобы результат был в ASCII или UTF-16? Каждый не прав, когда ты хочешь другого.

Если вы говорите о каком-либо сетевом протоколе, вы должны выяснить, какая кодировка символов ожидается протоколом. Используйте неправильную кодировку, и плохие вещи будут происходить.

Конечно, ASCII имеет огромные ограничения - он основан на английском языке (только латинские символы, без акцентов), но он подходит для некоторых протоколов. Другие могут использовать UTF-16 (Encoding.Unicode), UTF-8 или другие кодировки ... или они позволят вам указать кодировку самостоятельно в протоколе.

...