大家好,讨教大家个问题,现在本人在程序里面写内容到一个文本文件中间去,客户要求这个文件的编码格式是UCS-2 Little Endian格式。代码如下:
StreamWriter sw = new StreamWriter(fs, Encoding.GetEncoding(“Unicode”));
关键是现在在上面程序中生成的文本文件,发现它的格式是“UCS-2 LE w/o BOM”,不是客户给的样本文件的“UCS-2 Little Endian”格式。
1、上面两种格式有什么区别吗?
2、在记事本中把本人生成“UCS-2 LE w/o BOM”格式的文件打开,再另存为“Unicode”格式,再查看他的详细格式,却是“UCS-2 Little Endian”!
本人就晕了,怎么会这样?在.Net中怎么弄,才能直接生成“UCS-2 Little Endian”格式的文件?
拜托大家了。
附上本人程序生成的图和客户给的图
StreamWriter sw = new StreamWriter(fs, Encoding.GetEncoding(“Unicode”));
关键是现在在上面程序中生成的文本文件,发现它的格式是“UCS-2 LE w/o BOM”,不是客户给的样本文件的“UCS-2 Little Endian”格式。
1、上面两种格式有什么区别吗?
2、在记事本中把本人生成“UCS-2 LE w/o BOM”格式的文件打开,再另存为“Unicode”格式,再查看他的详细格式,却是“UCS-2 Little Endian”!
本人就晕了,怎么会这样?在.Net中怎么弄,才能直接生成“UCS-2 Little Endian”格式的文件?
拜托大家了。
附上本人程序生成的图和客户给的图
解决方案
20
你看看文件的前两个字符(BOM 编辑状态下不可见,要用程序看)是什么
0xff 0xfe
0xff 0xfe