您的位置:程序门 -> .net技术 -> c#



c#.net,unicode转换ascii问题,急!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


c#.net,unicode转换ascii问题,急![已结贴,结贴人:xuehan2520]
发表于:2007-08-30 09:31:10 楼主
private   uint   uid()
        {
               
                //这段字符串是从二进制文件读出来的,是用c++写进去的,写进去的时候是用
              unicode的,现在用c#取出来了,是%\0#\0%\0)\0!\0(\0*\0%\0,应该是%#%)&!(*%,九个字符,可是取出来因为是unicode的,变成18个字符,我现在想去掉右边的\0,但是试了好多办法不行,下面一段代码是网上找的,转出来还是18个,请高手指定!
                string   szbu   =   %\0#\0%\0)\0!\0(\0*\0%\0;

                encoding   ascii   =   encoding.ascii;
                encoding   unicode   =   encoding.utf8;
              byte[]   unicodebytes   =   ascii.getbytes(szbu);
              byte[]   asciibytes   =   encoding.convert(unicode,   ascii,   unicodebytes);
                char[]   szbuf   =   new   char[ascii.getcharcount(asciibytes,   0,   asciibytes.length)];
                ascii.getchars(asciibytes,   0,   asciibytes.length,   szbuf,   0);
                string   asciistring   =   new   string(szbuf);
             
             
        }
发表于:2007-08-30 09:39:561楼 得分:0
各位高手吗?星星钻石,来help啊.急哦.
发表于:2007-08-30 09:42:022楼 得分:0
我再顶啊!不然贴子沉了,希望也沉了!
发表于:2007-08-30 09:47:383楼 得分:20
file.writealltext(room2,   file.readalltext(room1,   encoding.unicode),encoding.ascii);


以上是把一个unicode的文本文件转成ascii编码的文件.
其中file.writealltext函数和filereadalltext函数都是返回string类型的.
room1,是原始文件的地址
room2,是改变后文件的地址

这两个函数都是在using   system.io中所以开头要在里面加using   system.io;
发表于:2007-08-30 09:52:314楼 得分:0
您的意思,是取出来之前,必须要先把二进制文件转成文本文件吗?直接取是不行的吗?
发表于:2007-08-30 09:58:095楼 得分:0
你可能误会我的意思了,我不是要转文件,我要从二进制里面取出来,转换成ascii的!
发表于:2007-08-30 10:37:026楼 得分:0
哎。没人帮帮偶呀!


快速检索

最新资讯
热门点击