有没有可以自动探测一个文本的编码的dll文件,就像一些文本编辑器能自动地用合适的编码打开一个文本

匆匆那年 2024-05-24 09:23:31
最佳回答
我刚刚学习了这个,来一段vb.net的代码,这是我从网上搜索到的。转化成了vb。使用方法是把这些代码保存成一个类。然后在另一个类中调用 : dim ed as encoding ed = encodingtype.getcodetype(fname)简单吧。具体代码如下:imports systemimports system.ioimports system.text'/ <summary>'/ 获取文件的编码格式'/ </summary>public class encodingtype '/ <summary> '/ 给定文件的路径,读取文件的二进制数据,判断文件的编码类型 '/ </summary> '/ <param name="file_name">文件路径</param> '/ <returns>文件的编码类型</returns> public overloads shared function getcodetype(byval file_name as string) as system.text.encoding dim fs as new filestream(file_name, filemode.open, fileaccess.read) dim r as encoding = getcodetype(fs) fs.close() return r end function 'gettype'/ <summary> '/ 通过给定的文件流,判断文件的编码类型 '/ </summary> '/ <param name="fs">文件流</param> '/ <returns>文件的编码类型</returns> public overloads shared function getcodetype(byval fs as filestream) as system.text.encoding dim [unicode]() as byte = {&hff, &hfe, &h41} dim unicodebig() as byte = {&hfe, &hff, &h0} dim utf8() as byte = {&hef, &hbb, &hbf} '带bom dim reval as encoding = encoding.default dim r as new binaryreader(fs, system.text.encoding.default) dim i as integer integer.tryparse(fs.length.tostring(), i) dim ss as byte() = r.readbytes(i) if **utf8bytes(ss) or (ss(0) = &hef and ss(1) = &hbb and ss(2) = &hbf) then reval = encoding.utf8 else if ss(0) = &hfe and ss(1) = &hff and ss(2) = &h0 then reval = encoding.bigendianunicode else if ss(0) = &hff and ss(1) = &hfe and ss(2) = &h41 then reval = encoding.unicode end if end if end if r.close() return reval end function 'gettype'/ <summary> '/ 判断是否是不带 bom 的 utf8 格式 '/ </summary> '/ <param name="data"></param> '/ <returns></returns> private shared function **utf8bytes(byval data() as byte) as boolean dim charbytecounter as integer = 1 '计算当前正分析的字符应还有的字节数 dim curbyte as byte '当前分析的字节. dim i as integer for i = 0 to data.length - 1 curbyte = data(i) if charbytecounter = 1 then if curbyte >= &h80 then '判断当前 while (curbyte <= 1 and &h80) <> 0 charbytecounter += 1 end while '标记位首位若为非0 则至少以2个1开始 如:110xxxxx...........1111110x if charbytecounter = 1 or charbytecounter > 6 then return false end if end if else '若是utf-8 此时第一位必须为1 if (curbyte and &hc0) <> &h80 then return false end if charbytecounter -= 1 end if next i if charbytecounter > 1 then throw new exception("非预期的byte格式") end if return true end function '**utf8bytesend class 'encodingtype 20210311
汇率兑换计算器

类似问答
  • 在尝试打开此文件时,office文件验证检测到一个问题,打开此文件可能有危险
    • 2024-05-24 22:22:30
    • 提问者: 未知
    在用户打开word、excel、powerpoint和publ**her(.doc、.xls、.ppt、.pub格式)文档时,文件验证功能会对该文件进行检查...你遇到这情况可以点击“取消”或是选择继续“打开”并...
  • dll文件是用什么编辑器编辑的,能用什么软件打开?
    • 2024-05-24 08:24:37
    • 提问者: 未知
    dll编辑器和dll反编译工具有什么区别?0 dll 文件 编辑器 相关问题 dll是什么 1 ias dll和6to4 dll是什么 1 sdhp1000 dll是什么 0 dsound dll是什么 3 skutil dll是...
  • 标准的vob文件nero7为什么重新编码?
    • 2024-05-24 07:37:48
    • 提问者: 未知
    在刻录视频文件时,直接将*.vob文件拖放入软件,一般dvd视频光盘上的*.vob文件会有多份,例如video_ts.vob,vts_01_0.vob,vts_01_1.vob等等 其中video_ts.vob记录了起始段的视频信息(一般是影片的起始菜单),而后面的每一段中也会记录前一段和后一段的信息,因此如果直接把其中一段拉出来希望单独刻录一张dvd视频光盘,nero软件在检测时会自动提示“兼容...
  • 如何编辑ai文件
    • 2024-05-24 02:33:02
    • 提问者: 未知
    1、如果电脑安装有adobe illustrator,就可以直接双击打开ai文件。2、打开ai文件。3、打开文件后,就可以使用左侧的工具进行编辑了,如果要输入文字,就点击图标t。4、输入文字后,就可以在工具栏中进行设置文字格式等等。
  • 如何使用图文排版编辑器一键排版?
    • 2024-05-24 03:11:54
    • 提问者: 未知
    如何使用图文排版编辑器一键排版?365编辑器,专为自媒体用户打造的文章排版编辑工具,为自媒体提供海量美化素材,热点文章,热点日历和快速排版等实用功能,助力自媒体高效率,低成本的运维手中帐号....
  • 个人投资理财一本通的编辑推荐
    • 2024-05-24 05:03:44
    • 提问者: 未知
    参加本书编写的人员,有长期从事股票、债券投资教学与研究工作的理论工作者,有在证券投资第一线工作的外资银行的投资代理人,有证券公司的管理者,也有从事个人投资理财的平民。他们在总结了长期的理论和实践经验的基础上,针对广大投资者的现状,借鉴国外经验编写了本书。内容简介 投资理财...
  • 谁能帮我把一个hex文件反编译为c语言文件?
    • 2024-05-24 05:52:37
    • 提问者: 未知
    文件有两种,一种是文本文件,一种是程序二进制文件,不管哪种文件都可以用十六进制编码来显示,称为hex文件。1、文本hex文件一般不需要转成c语言,更多的是程序二进制文件...
  • 软件自编指标是哪个文件夹
    • 2024-05-24 04:57:09
    • 提问者: 未知
    是带有nnt后缀的,加我q836013813,我指出给你一下
  • 如何成为网文编辑?
    • 2024-05-24 15:32:01
    • 提问者: 未知
    根据你的条件,我个人认为你还是有希望成为网文编辑的,但是你能在网文编辑上走多远需要以下两种素质。一·判断力 你读了很多网络小说,但是我现在不知道你对网文小说的判断力如何。读多少本从来不是衡量标准,但是判断力才是成为编辑的标准,比如你能不能预测这本书会不会火,或者说你对这个作者的...
  • 求编辑一时间段期货软件代码(博易**o**华财经)
    • 2024-05-24 18:12:14
    • 提问者: 未知
    最好加入编程群,然后让群里帮你,这里一般很少人给你这样做把。。。
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。