怎樣把一個 內碼為unicode的文件轉換為gb2312文件.

_1_2_3_4 2005-05-27 07:52:27
怎樣把一個 內碼為unicode的文件轉換為gb2312文件.
...全文
137 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
_1_2_3_4 2005-05-27
  • 打赏
  • 举报
回复
根據 回复人:koenemy() ( 四级(中级)) 信誉:100 的回復
找到下面的數據

http://blog.joycode.com/ghj/archive/2005/05/19/51584.aspx

不同编码的页面、脚本之间互相引用,就会产生乱码的问题,解决方法就是统一成一种编码。
asp.net 中,如果要修改输出页面的编码,可以通过修改web.config中以下配置信息

<globalization requestEncoding="utf-8" responseEncoding="utf-8" />

以上只是修改整体的默认编码,如果只有某个页的编码需要修改,ASP.net 中则可以简单的使用下面代码:

Encoding gb2312 = Encoding.GetEncoding("gb2312"); Response.ContentEncoding = gb2312;

在非ASP.net 应用中,可能你读到的数据是UTF-8编码,但是你要转换为GB2312编码,则可以参考以下代码:



string utfinfo = "document.write(\"alert('aa你好么??');\");"; string gb2312info = string.Empty; Encoding utf8 = Encoding.UTF8; Encoding gb2312 = Encoding.GetEncoding("gb2312"); // Convert the string into a byte[]. byte[] unicodeBytes = utf8.GetBytes(utfinfo); // Perform the conversion from one encoding to the other. byte[] asciiBytes = Encoding.Convert(utf8, gb2312, unicodeBytes); // Convert the new byte[] into a char[] and then into a string. // This is a slightly different approach to converting to illustrate // the use of GetCharCount/GetChars. char[] asciiChars = new char[gb2312.GetCharCount(asciiBytes, 0, asciiBytes.Length)]; gb2312.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0); gb2312info = new string(asciiChars);

当然,其他各种编码之间的转换,跟上述代码也类似的,就不描述了。
dreamsflying 2005-05-27
  • 打赏
  • 举报
回复
2000、XP都支持Unicode,不用再转换了。
web_gus 2005-05-27
  • 打赏
  • 举报
回复
不明白,既然是unicode还转换什么?
koenemy 2005-05-27
  • 打赏
  • 举报
回复
protected string ReadString (NetworkStream netStream)
{
string sp = null;
byte[] by = new byte[1024];
int size = netStream.Read(by,0,by.Length);// 读取数据流
if (size > 0)
sp = Encoding.gb2312.GetString(by);// 转化为String
return sp;
}
2002年写的一个共享软件,用到了actbar2.ocx,请自行下载或安装个actbar3来替换。 《内码转换精灵》2.0.0 测试版 软件使用说明 Convert Fairy 2.0.0 Bata 《内码转换精灵》是有其前身ConvFairy,内码转换控件演变而来。 其发行平台为:Windows98/Me/2000/XP。 内码转换精灵软件由张庆设计,软件作者保留所有的权利。 内码转换精灵软件的主要功能为: 1、内码转换。提供了GB码、Big5码、Gbk码、UniCode码间的相互转换功能,并提供Big5码到CNS的转换。 通过该软件可以批量的转换特定编码的文档。 支持的转换方式有以下14种: 1. GbToBig 将Gb2312码转换为Big5码 2. BigToGb 将Big5码转换为Big5码 3. GbkToBig 将Gbk码转换为Big5码 4. BigToGbk 将Big5码转换为Gbk码 5. UscToBig 将Unicode码转换为Big5码 6. BigToUsc 将Big5码转换为Unicode码 7. GbkToUsc 将Gbk吗转换为Unicode码 8. UscToGbk 将Unicode转换为Gbk码 9. GbkToUscWide 将Gbk码以全角形式转换为Unicode码(如有半角的英文字符,将先转换为全角) 10. UscToGbkNarrow 将Unicode码转换为Gbk码(半角的英文字符不会被转换) 11. UscToBigNarrow 将Unicode码转换为Big码(半角的英文字符不会被转换) 12. BigToUscWide 将Big码以全角的形式转换为Unicode码(如有半角的英文字符,将先转换为全角) 13. BigToCNS 将Big5码转换为CNS码(倚天码) 14. GbToBigToGbk 将Gb2312先转换为Big5码,然后将转换的Big5转换为Gbk码 2、多转换方式。 支持剪贴板转换。将剪贴板的内容按指定的转换方式进行转换。(只支持剪贴板内容是文本的情况) 文件预览。将指定的文件以只读方式进行转换并显示。 文件批量转换。将选定的一个或多个源文件按指定的转换方式转换后保存在目标文件夹中。 版本更新说明: 1.0-1.31版本 名为ConvFairy,是一个多内码转换控件。 2.X版本 对Unicode,Gbk,Big,Gb2312码的转换算法做了大幅度修改,执行效率大大提高。 将其以应用程序的形式进行发布,适合更广大的用户群体。 使用许可协议: 《内码转换精灵》2.0.0 测试版 为免费版本,个人用户可免费使用,并任意分发,但当如果您需要将其用于商业 目的,必须事先通过张庆本人许可。请将使用情况电子邮件发送到webmaster007@163.com 对于使用《内码转换精灵》2.0.0 测试版的用户,而造成的任何损失,应由使用者自己承担风险。 软件作者张庆保留对使用许可协议的全部权利。 其他版本的使用许可协议请参考《内码转换精灵》软件许可协议。license.txt 版权所有 (C) 2002-2003 张庆

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧