.net5与之前的版本GetBytes长度变化
string strTmp = "a1某某某";
int a = System.Text.Encoding.Default.GetBytes(strTmp).Length;
在.net framework 4.5中 一个中文表示两个字节 其它为1个字节,所以a的字节长度为8
在.net5中 一个中文代表3个字节,所以a=11
其中GetBytes的注释为
//
// 摘要:
// 在派生类中重写时,将指定字符串中的所有字符编码为一个字节序列。
//
// 参数:
// s:
// 包含要编码的字符的字符串。
//
// 返回结果:
// 一个字节数组,包含对指定的字符集进行编码的结果。
//
// 异常:
// System.ArgumentNullException:
// s 为 null。
//
// System.Text.EncoderFallbackException:
// 发生回退(请参见.NET Framework 中的字符编码以获得完整的解释) -和- 将 System.Text.Encoding.EncoderFallback
// 设置为 System.Text.EncoderExceptionFallback。
云在青天水在瓶