我对文本编码和字符集感到困惑.出于很多原因,我必须在即将开展的工作中学习非Unicode,非UTF8的东西.
我在电子邮件标题中找到"charset"一词,如"ISO-2022-JP",但在文本编辑器中没有这样的编码.(我环顾了不同的文字编辑.)
文本编码和字符集之间有什么区别?如果您能向我展示一些用例示例,我将不胜感激.
查看XML标头
<?xml version="1.0" encoding="UTF-16" standalone="no"?>
Run Code Online (Sandbox Code Playgroud)
我是否正确地声明encoding
属性是
或者该属性不是关于流的内容?
我在这里混淆了什么吗?
public string Serialize(BackgroundJobInfo info)
{
var stringBuilder = new StringBuilder();
using (var stringWriter = new StringWriter(stringBuilder, CultureInfo.InvariantCulture))
{
var writer = XmlWriter.Create(stringWriter);
...
Run Code Online (Sandbox Code Playgroud)
默认情况下,StringWriter
将自己宣传为UTF-16
.通常XML
是在UTF-8
.所以我可以通过子类化来解决这个问题StringWriter
public class Utf8StringWriter : StringWriter
{
public override Encoding Encoding
{
get { return Encoding.UTF8; }
}
}
Run Code Online (Sandbox Code Playgroud)
但为什么我要担心呢?如果我决定使用 StringWriter
(就像我做的那样)而不是Utf8StringWriter
?我会有一些错误吗?
之后我会写这个字符串 MongoDb