奇怪的编码问题,添加了00

ada*_*ump 2 c# biztalk character-encoding

出于某种原因,如下图所示,我的系统总是00在ASCII文本文件中的每个字符之后添加.我只能在使用文本文件的二进制格式视图时找到此问题(例如在UltraEdit中).如果我只是用记事本打开它,一切都很好.但这是一个很大的问题,因为如果我将此文件发送到另一个系统进行处理,他们会抱怨它不是一个有效的文件,因为以下所有00:

在此输入图像描述

是因为某些系统设置?

Jon*_*eet 8

那不是ASCII文件.这是一个UTF-16文件(猜测;似乎很可能) - 这是记事本正在检测的内容.

或者:

  • 更改您生成文件以实际使用ASCII(或可能是UTF-8)的方式
  • 告诉接收系统将其读作UTF-16

  • @adamgump:但***创建了该文件.它不仅仅是神奇地到达那里.因此,您需要更改生成文件的任何内容,或者更改您阅读文件的方式.您可以通过显式传入`Encoding.Unicode`来阅读它. (2认同)
  • @adamgump:这是一个非常糟糕的主意 - 在某些情况下你很可能会丢失数据.如果您已经读取了错误编码的字符串,那么您不能只使用那种代码来"转换"它.您应该以正确的编码开头阅读它. (2认同)