Calc utf-8 размер строки в байтах?

17

У меня есть строка utf8 .

Мне нужно получить его размер. (байты)

Всегда ли оно x2 ? // Я имею в виду умножить на 2

есть ли какая-либо функция .net для этого?

p.s.

im задает этот вопрос из-за моего последнего вопроса ... Мне нужно (в файле mempry mapped) вычитать смещение строки (utf8) - из другого процесса.

    
задан Royi Namir 18.03.2012 в 21:05
источник

1 ответ

41

Нет, это не всегда x2 для UTF-8 и изменения, основанные на фактическом содержимом. Для символов ASCII это 1 байт, но для больших значений кодовой точки может использоваться несколько байтов. Вы хотите:

string s = // your string
int len = Encoding.UTF8.GetByteCount(s);
    
ответ дан Marc Gravell 18.03.2012 в 21:08
источник