Как да получа последователно байтово представяне на низове в C#, без да задавам ръчно кодиране?
Как да конвертирам стринг
в байт[]
в .NET (C#), без да задавам ръчно конкретно кодиране?
Ще криптирам низа. Мога да го криптирам, без да го конвертирам, но все пак бих искал да знам защо кодирането се намесва тук.
Също така, защо кодирането трябва да се взема предвид? Не мога ли просто да получа в какви байтове е бил съхранен низът? Защо има зависимост от кодирането на символите?
2111
3
Това зависи от кодирането на вашия низ (ASCII, UTF-8, ...).
Например:
Малка извадка защо кодирането има значение:
ASCII просто не е пригоден да се справя със специални символи.
Вътрешно .NET framework използва UTF-16 за представяне на низове, така че ако просто искате да получите точните байтове, които .NET използва, използвайте
System.Text.Encoding.Unicode.GetBytes (...)
.За повече информация вижте Кодиране на символи в .NET Framework (MSDN).