下载中心┊文章中心┊软件分类┊更新软件┊推荐下载┊热门软件┊更新文章┊热门文章
 
《拓文asp.net网站内容管理系统》官方演示站。
 设为首页    
 收藏本站
 作者:黄振安
 
网站首页 开源拓文 .NET编程 网站编程 网页设计 图形图像 数据库 软件工程留言本
    站内搜索:   
您现在的位置: 拓文网络 → 文章中心 → .NET编程 → C#.NET → C#.NET 中的类型转换[正文]

热 门 文 章

相 关 文 章
  • C#常用函数和方法集汇总
  • c#中分割字符串的几种方法(sp...
  • C#调用父类的父类的方法
  • 计算俩个时间之间隔多少月
  • 批量字符串替换程序-1
  • 批量字符串替换程序-2
  • C#中利用SharpZipLib进行文件...
  • C#快速排序类
  • c#学习体会:使用 ref 和 out ...
  • 如何通过一个图片的URL得到该...
  • C#.NET 中的类型转换
     
    [作者:不详    转贴自:不详    点击数:    字体:【大 中 小】    更新时间:2006-3-16 10:02:24]



    6. 字符串和字节数组之间的转换

        如果还想从 System.String 类中找到方法进行字符串和字节数组之间的转换,恐怕你会失望了。为了进行这样的转换,我们不得不借助另一个类:System.Text.Encoding。该类提供了 bye[] GetBytes(string) 方法将字符串转换成字节数组,还提供了 string GetString(byte[]) 方法将字节数组转换成字符串。
        System.Text.Encoding 类似乎没有可用的构造函数,但我们可以找到几个默认的 Encoding,即 Encoding.Default(获取系统的当前 ANSI 代码页的编码)、Encoding.ASCII(获取 7 位 ASCII 字符集的编码)、Encoding.Unicode(获取采用 Little-Endian 字节顺序的 Unicode 格式的编码)、Encoding.UTF7(获取 UTF-7 格式的编码)、Encoding.UTF8(获取 UTF-8 格式的编码) 等。这里主要说说 Encoding.Default 和 Encoding.Unicode 用于转换的区别。
        在字符串转换到字节数组的过程中,Encoding.Default 会将每个单字节字符,如半角英文,转换成 1 个字节,而把每个双字节字符,如汉字,转换成 2 个字节。而 Encoding.Unicode 则会将它们都转换成两个字节。我们可以通过下列简单的了解一下转换的方法,以及使用 Encoding.Default 和 Encodeing.Unicode 的区别:

        private void TestStringBytes() {
            string s = C#语言;
            byte[] b1 = System.Text.Encoding.Default.GetBytes(s);
            byte[] b2 = System.Text.Encoding.Unicode.GetBytes(s);
            string t1 = , t2 = ;
            foreach (byte b in b1) {
                t1 += b.ToString() + ;
            }
            foreach (byte b in b2) {
                t2 += b.ToString() + ;
            }
            this.textBox1.Text = ;
            this.textBox1.AppendText(b1.Length = + b1.Length + \n);
            this.textBox1.AppendText(t1 + \n);
            this.textBox1.AppendText(b2.Length = + b2.Length + \n);
            this.textBox1.AppendText(t2 + \n);
        }

        运行结果如下,不说详述,相信大家已经明白了。

        b1.Length = 6
        67 35 211 239 209 212
        b2.Length = 8
        67 0 35 0 237 139 0 138

        将字节数组转换成字符串,使用 Encoding 类的 string GetString(byte[]) 或 string GetString(byte[], int, int) 方法,具体使用何种 Encoding 还是由编码决定。在 TestStringBytes() 函数中添加如下语句作为实例:

            byte[] bs = {97, 98, 99, 100, 101, 102};
            string ss = System.Text.Encoding.ASCII.GetString(bs);
            this.textBox1.AppendText(The string is: + ss + \n);

        运行结果为:The string is: abcdef
    页次:5/8  1篇/页  首页   上一页   下一页   尾页  合计 8 篇 Go:

     
    上一篇:c#学习体会:使用 ref 和 out ...
    下一篇:如何通过一个图片的URL得到该...
    winner 打印本页 关闭窗口

         文 章 评 论
    评论人 查看该文章的评论 发表时间
       笔 名* : 0 50分 60分 70分 80分 90分 100分
    评论内容 *: (最多600字。当前字数:0)


    80 分gdgdgdg2006-4-9 17:12:06
    80 分gdgdgdg2006-4-9 17:10:11
    80 分gdgdgdg2006-4-9 17:09:41
    80 分erterterrtert2006-4-9 17:06:26

    - 关于本站 - 网站帮助 - 下载声明 - 友情连接 - 网站地图 -
    Copyright © 2005-2006 myTopWin.Com. All Rights Reserved . [桂ICP备06004496号]