您的位置:
首页
->
编程文档
->
.NET开发
-> Vb.net进阶:.NET 中的代码页(CodePage)
.NET开发
本类阅读TOP10
·
NHibernate快速指南(翻译)
·
vs.net 2005中文版下载地址收藏
·
【小技巧】一个判断session是否过期的小技巧
·
VB/ASP 调用 SQL Server 的存储过程
·
?dos下编译.net程序找不到csc.exe文件
·
通过Web Services上传和下载文件
·
学习笔记(补)《.NET框架程序设计(修订版)》--目录
·
VB.NET实现DirectDraw9 (2) 动画
·
VB.NET实现DirectDraw9 (1) 托管的DDraw
·
建站框架规范书之——文件命名
→
分类导航
VC语言
Delphi
VB语言
ASP
Perl
Java
Script
数据库
其他语言
游戏开发
文件格式
网站制作
软件工程
.NET开发
Vb.net进阶:.NET 中的代码页(CodePage)
作者
:未知
来源
:月光软件站
加入时间
:2005-2-28 月光软件站
如果你还在为这种事情烦恼:
那这篇文章对你来说是有用的。
为什么会出现这种事情呢?因为这些乱码本来不属于我们现在所用的代码页(简体中文,GB2312)。
关于代码页的介绍请看MSDN2003中的“
代码页的编码支持
”。
怎样才能将乱码还原成“本来面目”呢?我们要做的就是将乱码字符串化解为Byte数组,然后用正确的代码页将其重新编码。怎样取得正确的代码页呢?在MSDN中有一张表介绍了个代码页及其相对应的整数值。比如简体中文是936,繁体中文是950,日文是932,朝鲜语是949。
MSDN中的代码页列表是在:
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/act/htm/actml_ref_scpg.asp
这里直接给个例子,说明如何还原乱码:
Private Function ConvertTo(ByVal
str
As String) As String
Dim
ec
As System.Text.Encoding = System.Text.Encoding.GetEncoding(
CodePage
)
Return
ec
.GetString(
System.Text.Encoding.Default.GetBytes(str)
)
End Function
在这里,str是要转换的乱码,
CodePage
是一个整数,对应要转换的代码页的数值。这个函数就是返回还原后的乱码的。从ec的定义可以看到它是根据
CodePage
创建的。红棕色部分是把字符串分解成Byte数组,然后再用
ec
的
GetString
方法重新编码。返回的结果就可以直接显示了。怎么样,简单吧?下面是一些效果:
相关文章
:
相关软件
: