gpt4 book ai didi

c# - 为什么在反序列化期间使用 UTF-8 进行编码比使用 ASCII 更好?

转载 作者:行者123 更新时间:2023-12-03 15:48:37 26 4
gpt4 key购买 nike

我想将代表 RESTful Web 服务响应的 JSON 文件反序列化为相应的类。我正在使用
System.Text.ASCIIEncoding.ASCII.GetBytes(ResponseString)我在 Microsoft Docs 上阅读出于安全原因,使用 UTF-8 编码而不是 ASCII 更好。

现在我有点困惑,因为我不知道这两者之间的真正区别( 关于安全事项 )。谁能告诉我使用 UTF-8 而非 ASCII 进行反序列化的真正实际优势是什么?

最佳答案

最终,编码器的目的是取回您想要获得的数据。 ASCII 只定义了一个很小的 ​​7 位值范围;没有处理的任何事情,你可能会拿回垃圾 - 或 ? ,来自有效载荷,包括 e̵v̷e̴n̸ ̷r̵e̸m̵o̸t̸e̵l̶y̸ ̶i̴n̴t̵e̵r̷e̵s̶t̶i̷n̷g̵ ̶t̸e̵x̵t̵t̵。

现在;当您的应用程序获取无法处理的数据时会发生什么?我们不知道,当您获得无法处理的有效负载时,它确实很可能会导致安全问题。

如果您无法正确存储和显示客户的姓名等(或由于从右到左的标记而向后打印他们的姓名),那么坦率地说,在这个互联的世界中,这也很尴尬。世界上大多数人每天都在使用 ASCII 以外的东西。

由于 UTF-8 是 ASCII 的超集,而 UTF-8 基本上赢得了编码 war :您不妨直接使用 UTF-8。

关于c# - 为什么在反序列化期间使用 UTF-8 进行编码比使用 ASCII 更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60543119/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com