gpt4 book ai didi

c# - UTF-8 或 UTF-16 或 UTF-32 或 UCS-2

转载 作者:可可西里 更新时间:2023-11-01 08:30:32 28 4
gpt4 key购买 nike

我正在设计一个新的 CMS,但想要设计它来满足我 future 的所有需求,比如多语言内容,所以我认为 Unicode (UTF-8) 是最好的解决方案

但是通过一些搜索我得到了这篇文章

http://msdn.microsoft.com/en-us/library/bb330962%28SQL.90%29.aspx#intlftrql2005_topic2

所以我现在很困惑现在使用什么 UTF-8/UTF-16/UTF-32/UCS-2

这对多语言内容和性能等更好。

PS:我正在使用 Asp.net 和 c# 以及 SqlServer 2005

提前致谢

最佳答案

这不是问题,因为您说:

i am using Asp.net and c# and SqlServer 2005



SqlServer 在一些地方(ntext、nvarchar、nchar)使用 UTF-16,在一些以 XML 为中心的地方使用 UTF-8,而你没有做任何奇怪的事情。

C# 在其所有字符串中使用 UTF-16,并在处理流和文件时使用工具进行编码,这些流和文件使我们...

ASP.NET 默认使用 UTF-8,很难想到它不是一个好的选择(即使是亚洲语言,这种语言的文本简洁加上具有特殊含义的名称和符号的事实在 HTML、CSS、javascript 中,您将发送的大多数 XML 应用程序和其他流的范围是 U+0000 到 U+007F,这使得 UTF-16 在该范围内优于 UTF-8 的优势不如纯文本亚洲语言)。

SqlServer 的 UTF-16 和 C# 的 UTF-16 与 ASP.NET 在读取和写入时所做的 UTF-8 之间的对话是使用默认设置为您完成的,但由于这是您可以轻松更改的一位,因此我的回答将使用UTF-8。实际上,您将混合使用 -8 和 -16,但大多数时候您不会注意到(您是否注意到您已经这样做了)。

SQL Server 不太宽容,因为很多过时的示例都将预期供人类使用的文本放入 varchar、text 或 char 字段中。将这些纯粹用于代码(例如,所有 ISO 国家/地区代码都在 char(2) 范围内,因此 nchar(2) 只会浪费空间),并且只有 nvarchar、ntext 和 nchar 用于人们而不是机器将读取和写入的内容。

关于c# - UTF-8 或 UTF-16 或 UTF-32 或 UCS-2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3473295/

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