过程描述:
在一台没有安装中文语言包的机器COMPUTER1(这台机器和后面的机器都是英文操作系统)上有一个内容是中文的TXT文件CN.txt,现在从另外一台安装了中文语言包的机器COMPUTER2读取这个TXT文件,结果出现以下乱码:
"Fw: 鍏充簬甯愭埛鐨勫垱寤\0"
以上的内容是通过“添加监视”一个string变量得到。PS:大家都知道字符串是以“\0”结尾的,(不要来扫这个盲!!)但这个是系统追加的,假如你将一个字符串输出,你不会看到这个“\0”。然而很不幸,我看到了。我现在怀疑是没装语言包的问题,但现实不允许我给COMPUTER1装上语言包来证实。望大家提供原因和解决办法。3X
在一台没有安装中文语言包的机器COMPUTER1(这台机器和后面的机器都是英文操作系统)上有一个内容是中文的TXT文件CN.txt,现在从另外一台安装了中文语言包的机器COMPUTER2读取这个TXT文件,结果出现以下乱码:
"Fw: 鍏充簬甯愭埛鐨勫垱寤\0"
以上的内容是通过“添加监视”一个string变量得到。PS:大家都知道字符串是以“\0”结尾的,(不要来扫这个盲!!)但这个是系统追加的,假如你将一个字符串输出,你不会看到这个“\0”。然而很不幸,我看到了。我现在怀疑是没装语言包的问题,但现实不允许我给COMPUTER1装上语言包来证实。望大家提供原因和解决办法。3X
解决方案 »
- 如何学习c#?
- 怎么样获取 ListViewItem 的某一项值;
- 求利用DirectShow开发的播放器C#源码。
- 请教个关于DATASET 导出到EXCEL时用BackGroudWorker显示进度的问题
- 请问大家。如何通过已经有数据,对未来数据走势作一个分析呢?
- 如何向txt文件追加信息
- C#.NET做C/S结构的数据库程序方便还是B/S程序方便?
- 大家帮帮忙!
- 这么好的一个问题,竟然没有人回答.郁闷...
- 请问在未安装sqlite.net 安装包的机器上访问sqlite出错解决方法
- 请帮助用正则从文本中提取需要的内容
- winfrom 调用web service ,如果网络不可用或服务器关闭时。调用将出错,如果捕获异常
点菜单,另存为,就可以看到它的编码
然后用这个编码来打开这个文件即可
rMessage = Encoding.ASCII.GetString(byteMessage);
如果你实际的字符长度没有256那rMessage后面就会有\0出现.
rMessage=rMessage.TrimEnd('\0')这样就去除了
如果我没有办法得到给文件的编码方式,有没有一个不用考虑具体文件编码方式的办法?
TO:LIUCHAO305
文件的内容我存在一个STRING变量中,不是BYTE数组,虽然字符数组可以表示字符串。但是如果使用数组,我并不能确定数组长度。通过TRIMEND('\0')可以将去掉“\0”,不过文字却还是乱码。不知道有没有其他解决办法?
把你的名字打错了^_^
可以有长度的吧
System.Text.Encoding.Default.GetString (byteMessage,0,count)