Вычислите размер строки utf-8 в байтах? - PullRequest
20 голосов
/ 19 марта 2012

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

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

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

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

приписка

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

1 Ответ

49 голосов
/ 19 марта 2012

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

string s = // your string
int len = Encoding.UTF8.GetByteCount(s);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...