【发布时间】:2012-03-19 05:02:22
【问题描述】:
我有一串utf8。
我需要知道它的大小。 (字节)
总是x2 吗? // 我的意思是乘以 2
是否有任何 .net 功能?
附言
我问这个问题是因为我最新的question ...我需要(在内存映射文件中)计算字符串的偏移量( utf8 )-来自另一个进程..
【问题讨论】:
-
"我有一串 utf8。" - 不在 .NET 中。您要么有一个字符串(即 UTF-16),要么有一个表示 UTF-8 编码字符串的字节数组。在后一种情况下,您可以使用
Array.Length。 -
对于“x2”的东西...你确定你没有使用 UTF-16 吗?
-
@Porges 是否每个字符都以 2 个字节表示 - 即使它来自 0..127 ascii 表?
-
@RoyiNamir:是的,UTF-16 就是这种情况。此外,有些字符需要 4 个字节而不是 2 个。您可以在 Wikipedia 上阅读有关 UTF-16 的更多信息:en.wikipedia.org/wiki/UTF-16