Encoding.GetEncoding( "iso-8859-1" ).GetBytes("中文") 结果不是 4 个字节?

jmcooler 2014-05-12 08:53:24
byte[] someData = Encoding.GetEncoding( "iso-8859-1" ).GetBytes( "中文" );
//按照 http://hi.baidu.com/gulin20475/item/7e9f761e50454d613f87ce00 对 ISO-8859-1 的介绍,someData 内将包含 "d6 d0 ce c4" 四个字节
FileStream stream = new FileStream( "e:\\abc.txt", FileMode.Create );
stream.Write( someData, 0, someData.Length );
stream.Close();
((IDisposable)stream).Dispose();

​string sss = Encoding.GetEncoding( "iso8859-1" ).GetString( someData );
转回去,也应该能是原来的“中文”二字才对啊
但实际上,someData 只有两个字节,且都是 63
abc.txt 内容也只有 2 字节
...全文
530 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
宝_爸 2014-05-12
  • 打赏
  • 举报
回复
xdashewan 2014-05-12
  • 打赏
  • 举报
回复
引用 3 楼 jmcooler 的回复:
那为何 RFC 对 http 的 content-disposition 中有关文件名的编码,推荐用 ISO-8859 系列? Content-Type: multipart/form-data Content-Disposition: attachment; filename="文件名.zip" 其中的 “文件名.zip”,一般需要进行编码,以支持国际化 如果对此文件名,采用 ISO-8859-1 字符集编码,除非接收方明确知道你用的是中文,否则接收方处理成欧洲语言了
别人说的文件名.zip不是让你用中文文件名啊
宝_爸 2014-05-12
  • 打赏
  • 举报
回复
我用的Encoding.UTF8,没有问题啊。
jmcooler 2014-05-12
  • 打赏
  • 举报
回复
那为何 RFC 对 http 的 content-disposition 中有关文件名的编码,推荐用 ISO-8859 系列? Content-Type: multipart/form-data Content-Disposition: attachment; filename="文件名.zip" 其中的 “文件名.zip”,一般需要进行编码,以支持国际化 如果对此文件名,采用 ISO-8859-1 字符集编码,除非接收方明确知道你用的是中文,否则接收方处理成欧洲语言了
xdashewan 2014-05-12
  • 打赏
  • 举报
回复
看文章要仔细,别人明说了“很明显,iso8859-1编码表示的字符范围很窄,无法表示中文字符。” 另外此字符集支持部分于欧洲使用的语言,包括阿尔巴尼亚语、巴斯克语、布列塔尼语、加泰罗尼亚语、丹麦语、荷兰语、法罗语、弗里西语、加利西亚语、德语、格陵兰语、冰岛语、爱尔兰盖尔语、意大利语、拉丁语、卢森堡语、挪威语、葡萄牙语、里托罗曼斯语、苏格兰盖尔语、西班牙语及瑞典语。 英语虽然没有重音字母,但仍会标明为ISO/IEC 8859-1编码。除此之外,欧洲以外的部分语言,如南非荷兰语、斯瓦希里语、印尼语及马来语、菲律宾他加洛语等也可使用ISO/IEC 8859-1编码。
宝_爸 2014-05-12
  • 打赏
  • 举报
回复
文中说了iso-8859-1 不支持中文。 d6 d0 ce c4是GB2312的编码数据。
内容概要:本文系统研究了基于交替方向乘子法(ADMM)的多主体综合能源系统分布式协同优化方法,旨在实现多个能源主体之间的高效、隐私保护的能量协同管理。通过建立各主体的局部优化模型,并引入一致性约束条件,利用ADMM算法将集中式优化问题分解为多个分布式子问题进行迭代求解,从而在保证各主体数据隐私的同时达成全局协同优化目标。研究涵盖了模型构建、算法实现、收敛性分析及数值仿真全过程,并提供了完整的Matlab代码实现,有效复现了相关学术成果,具有较强的可验证性与可拓展性。; 适合人群:具备一定数学建模能力与优化理论基础,熟悉Matlab编程,从事综合能源系统、分布式优化算法、电力系统调度等相关方向研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 掌握ADMM算法在多主体能源系统协同优化中的建模与实现方法;② 构建支持隐私保护的分布式能源调度系统;③ 利用开源代码开展算法改进、性能测试或应用于实际系统的二次开发与科研论文复现; 阅读建议:建议结合凸优化与分布式计算的基础知识,深入理解增广拉格朗日函数构造、对偶更新与收敛判据的设计原理,在代码调试过程中重点关注惩罚参数选取、变量分裂策略及通信机制的实现细节,以全面掌握算法的核心机制与工程应用要点。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧