vb.net获取系统所有字符集.
### vb.net 获取系统所有字符集 #### 知识点概览 在VB.NET中,获取系统中的所有字符集是一项常用的技术需求。字符集是用于表示文本数据的一组符号及其编码方式。通过VB.NET代码,我们可以方便地列出系统支持的所有字符集,并获取其相关信息,如名称、代码页等。这对于开发需要处理多种语言或特殊字符的应用程序来说非常重要。 #### 代码解析与知识点详解 ##### 1. 导入必要的命名空间 我们需要导入`System`和`System.Text`两个命名空间。这两个命名空间提供了处理编码和字符集所需的基本类和方法。 ```vbnet Imports System Imports System.Text ``` **知识点:** - **System** 命名空间包含了构成 .NET Framework 的核心公共语言运行时 (CLR) 类型和服务。 - **System.Text** 命名空间包含了一系列用于处理文本的类,如字符串操作、编码转换等。 ##### 2. 定义主类 `AllEncodings` 接下来定义了一个名为`AllEncodings`的公共类,并在其中声明了一个名为`Main`的共享子程序,作为程序的入口点。 ```vbnet Public Class AllEncodings Public Shared Sub Main() ' ... End Sub End Class ``` **知识点:** - **Public Class AllEncodings** 表示定义了一个公共的类`AllEncodings`。 - **Public Shared Sub Main()** 表示定义了一个静态的主方法`Main`,这是VB.NET应用程序的入口点。 ##### 3. 打印表头 在`Main`方法中,首先打印输出列标题,即每个字符集的信息字段,包括名称、代码页、主体名称、头部名称、网络名称以及编码的名称。 ```vbnet Console.Write("Name") Console.Write("CodePage") Console.Write("BodyName") Console.Write("HeaderName") Console.Write("WebName") Console.WriteLine("Encoding.EncodingName") ``` **知识点:** - **Console.Write** 和 **Console.WriteLine** 方法用于在控制台输出文本。`Write`不会换行,而`WriteLine`会在输出后自动换行。 ##### 4. 遍历并获取所有编码信息 使用`Encoding.GetEncodings()`方法获取所有可用的编码信息,并遍历这些信息。 ```vbnet Dim ei As EncodingInfo For Each ei In Encoding.GetEncodings() Dim e As Encoding = ei.GetEncoding() ' ... Next ei ``` **知识点:** - **Encoding.GetEncodings()** 方法返回一个`EncodingInfo`数组,该数组包含当前操作系统中安装的所有编码信息。 - **EncodingInfo.GetEncoding()** 方法根据`EncodingInfo`对象获取对应的`Encoding`对象。 ##### 5. 输出字符集信息 对于每一个`EncodingInfo`对象,获取相应的`Encoding`对象,并检查其属性是否与`EncodingInfo.Name`相同。如果不同,则输出相关信息。 ```vbnet If ei.Name <> e.BodyName OrElse ei.Name <> e.HeaderName OrElse ei.Name <> e.WebName Then Console.Write("{0,-18}", ei.Name) Console.Write("{0,-9}", e.CodePage) Console.Write("{0,-18}", e.BodyName) Console.Write("{0,-18}", e.HeaderName) Console.Write("{0,-18}", e.WebName) Console.WriteLine("{0}", e.EncodingName) End If ``` **知识点:** - **CodePage** 属性返回编码的代码页编号。 - **BodyName**、**HeaderName** 和 **WebName** 分别返回该编码在不同的上下文中使用的名称。 - **EncodingName** 返回编码的正式名称。 ##### 6. 示例输出 这段代码会输出一系列字符集的信息,例如: - 名称:`shift_jis`,代码页:`932`,主体名称:`iso-2022-jp`,头部名称:`iso-2022-jp`,网络名称:`shift_jis`,编码的名称:`Japanese(Shift-JIS)`。 通过这种方式,我们可以方便地获取系统支持的所有字符集及其相关信息。这对于开发需要处理多语言环境的应用程序非常有帮助。
Imports System.Text
Public Class AllEncodings
Public Shared Sub Main()
' Print the header.
Console.Write("Name ")
Console.Write("CodePage ")
Console.Write("BodyName ")
Console.Write("HeaderName ")
Console.Write("WebName ")
Console.WriteLine("Encoding.EncodingName")
' For every encoding, compare the name properties with EncodingInfo.Name.
' Display only the encodings that have one or more different names.
Dim ei As EncodingInfo
For Each ei In Encoding.GetEncodings()
Dim e As Encoding = ei.GetEncoding()
' If ei.Name <> e.BodyName OrElse ei.Name <> e.HeaderName OrElse ei.Name <> e.WebName Then
Console.Write("{0,-18} ", ei.Name)
Console.Write("{0,-9} ", e.CodePage)
Console.Write("{0,-18} ", e.BodyName)
Console.Write("{0,-18} ", e.HeaderName)
Console.Write("{0,-18} ", e.WebName)
Console.WriteLine("{0} ", e.EncodingName)
' End If
- xxuullboy2018-09-27不知道有没有用呢
- 粉丝: 61
- 资源: 20
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 网上书城系统(Struts+Hibernate+Mysql).rar
- 网上书店(struts+hibernate+css+mysql).rar
- 网上书店系统(论文+jsp源程序)130220.rar
- 网上书店系统(论文+jsp源程序).rar
- 网上书店(struts+hibernate+css+mysql)130223.rar
- 系统详细配置方法.rar
- 文本编辑器.rar
- 项目申报系统(Struts2+Spring+Hibernate+Jsp+Mysql5).rar
- 纯电动汽车再生制动策略,Cruise和Simulink联合仿真,提供Cruise整车模型和simuink策略模型,有详细解析文档,可运行
- 学生成绩管理系统(SSH+MYSQL)130221.rar
- 学生成绩管理系统(SSH+MYSQL).rar
- 项目申报系统(Struts2+Spring+Hibernate+Jsp+Mysql5)130223.rar
- 移动ssh项目(struts+spring+hibernate+oracle).rar
- 阳光酒店管理系统(javaapplet+SQL)130425.rar
- 移动ssh项目(struts+spring+hibernate+oracle)130222.rar
- 音乐网站(JSP+SERVLET)130222.rar