c# - System.Text.Encoding.UTF8.GetBytes 额外字节

标签 c# .net vb.net utf-8 character-encoding

为什么会有这条线

System.Text.Encoding.UTF8.GetBytes("ABCD±ABCD")

给我 10 个字节而不是 9 个字节? 虽然±是char(177)

是否有 .Net 函数/编码可以将此字符串正确转换为 9 个字节?

最佳答案

Although ± is char(177)

UTF-8 编码是 0xc2 0xb1 - 两个字节。基本上,每个 >= 128 的代码点都将占用多个字节 - 其中字节数取决于代码点的大小。

当使用 UTF-8 编码时,该数据为 10 个字节。这里的错误是您期望它应该花费 9。

关于c# - System.Text.Encoding.UTF8.GetBytes 额外字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19036870/

相关文章:

c# - 如何使用 Core(SQL) API 从 Azure Cosmos Db 检索数据

.net - 分发 F# 应用程序(启动时崩溃)

c# - 企业服务总线(.NET 风格)——一次消费一批消息

vb.net - VB字典包含值返回键

.net - sqlconnection 未定义

c# - Owin OAuth 提供者 "The entity type IdentityUser is not part of the model for the current context"

c# - 相当于.Net Core中的HttpResponse.StatusDescription来设置状态码描述

c# - 测试类中的对象实例化

.net - 具有多个 Order By 子句的 Linq 语句不起作用

vb.net - InvalidArgument= '0' 的值对于 'SelectedIndex' 无效。参数名称: SelectedIndex using ShowDialog