大家好,讨教大家个问题,现在本人在程序里面写内容到一个文本文件中间去,客户要求这个文件的编码格式是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”格式的文件?
拜托大家了。
附上本人程序生成的图和客户给的图
![C#怎么生成UTF-16的UCS-2 Little Endian格式的文件 C#怎么生成UTF-16的UCS-2 Little Endian格式的文件](https://www.codebye.com/wp-content/uploads/2016/07/463578338-1549211767.jpg)
![C#怎么生成UTF-16的UCS-2 Little Endian格式的文件 C#怎么生成UTF-16的UCS-2 Little Endian格式的文件](https://www.codebye.com/wp-content/uploads/2016/07/1981816644-983142327.jpg)
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”格式的文件?
拜托大家了。
附上本人程序生成的图和客户给的图
![C#怎么生成UTF-16的UCS-2 Little Endian格式的文件 C#怎么生成UTF-16的UCS-2 Little Endian格式的文件](https://www.codebye.com/wp-content/uploads/2016/07/463578338-1549211767.jpg)
![C#怎么生成UTF-16的UCS-2 Little Endian格式的文件 C#怎么生成UTF-16的UCS-2 Little Endian格式的文件](https://www.codebye.com/wp-content/uploads/2016/07/1981816644-983142327.jpg)
解决方案
20
你看看文件的前两个字符(BOM 编辑状态下不可见,要用程序看)是什么
0xff 0xfe
0xff 0xfe