VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 819|回复: 5

求助:.net中如何处理ansi编码的字符串?

[复制链接]

1

主题

6

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-3-18 17:00:01 | 显示全部楼层 |阅读模式
FCL中提供了UTF7Encoding,UTF8Encoding,ASCIIEncoding,UnicodeEncoding,四种编码解码器,都无法正确的解码ansi编码(多字节字符串),该怎么办?
回复

使用道具 举报

0

主题

20

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
发表于 2020-6-21 19:30:02 | 显示全部楼层
你的文件里存的是什么语言呢?(汉语?日语?)
回复

使用道具 举报

1

主题

6

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-6-22 00:15:01 | 显示全部楼层
ansi编码的字符串,也就是多字节,英文用一个字节表示,中文和其他语言用双字节表示
回复

使用道具 举报

0

主题

20

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
发表于 2020-6-22 22:30:01 | 显示全部楼层
ansi里面写的是什么语言,就用什么语言解码,个人认为只和操作系统有关
比如中文系统
StreamReader sr=new StreamReader(@"d:\test.txt",Encoding.GetEncoding("gb2312"));
//gb2312是保存时的系统语言编码
回复

使用道具 举报

1

主题

6

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-7-3 15:45:01 | 显示全部楼层
谢谢!使用Encoding.Defalut可以获取与系统区域设置中的默认 ANSI 代码页相关联的编码。
但是,如果想进一步,确定字符串使用的哪种编码怎么办呢?
回复

使用道具 举报

1

主题

6

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-7-3 16:45:01 | 显示全部楼层
就像ie中的那样,可以自动选择编码方式。不过确切说,我并不知道有没有这种可能,也不知道ie这个自动选择选对的几率有多大(除gb2312和unicode之外,unicode多数情况下带有字节顺序标记)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表