新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > .Net开发 > Asp.net教程 > 正文:读写文件时编码问题(一点经验,提供给大家)

读写文件时编码问题(一点经验,提供给大家)

新客网 XKER.COM 2003-07-12 来源: 收藏本文
前些日子,在用VB.NET写自己的视频点播站点时,出现了一个让我很是生气的问题,由于用RealPlayer播放的视频通过REALSERVER播放,因此我建立了REALSERVER,但是RM格式文件如果想进行剪辑或编辑,类似于MEDIA提供的ASX文件一样,它提供了RAM和SMIL文件的格式,其实就是纯粹的文本,该文本中包含了播放的路径如rtsp://.....rm以及开始播放时间、结束播放时间等信息,我利用文件读写IO接口去写,写成smil文件格式,但是,英文没有任何问题,写成中文就出了问题,乱码!
    我检查了web.config文件中后发现我的选择是GB2312啊,没有问题。怎么回事呢?后来我发现web.config不控制文件读写部分功能。
于是查了MSDN,发现在StreamWriter对象中有一个Encoding方法,引起了我的注意,后来终于把问题解决了,下面是部分代码:

Dim f As New StreamWriter(Server.MapPath("tmpWord.smil"), False, System.Text.Encoding.GetEncoding("GB2312"), 512)

这样是简便的写法,直接在New的时候写参数,或者用f.Encoding
其中,Server.MapPath("tmpWord.smil")自然就是要写入文件的路径,False部分是用来表明是否保留原先的内容,如果True则保留,新的内容写入无效,如果False则覆盖原先的内容,System.Text.Encoding.GetEncoding("GB2312"), 是要得到需要用的编码格式,默认的编码格式是UTF-8,所以这里要写明我们要用到的GB2312,512是写入缓存的大小。

    简单吧,千万不要被写入.TXT文件中文部分没问题所迷惑,因为微软想让它的UTF8格式成为通用的格式,而别的提供商却并不买它的帐
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐