sublimetext打开utf8文件

sublimetext打开utf8文件,第1张

Sublime Text是一梁薯个功能强大的文本编辑器,它支持打开和编辑各种编码格式文件,包括UTF-8编码文件。在Sublime Text中打开UTF-8编码文件非常简单,只需要在菜单栏中选择File->Open,在d出的文件选择框中选择需要打开的文件,确保文件编码为UTF-8,然后点击OK即可。Sublime Text会自动识别文件编答含码,并且根据该编码格式进行显示和编辑。如果需要更改文件的编码格式,可以选择File->Save with Encoding,在d出的编码格式选择框中选择需要的编码格式,然后点击保存即可。清渣笑

失望归失望,但这屁大点小事当然难不档袭倒广大劳动人民,大家创造出一大批的插件来解决这个问题,最广为人知的就是 ConvertToUTF8 了(目测经常用Sublime的小伙伴们90%都装了这个插件)。

如何将文件另存为GBK格式?这个问题看似简单,却难倒了 ConvertToUTF8 。 ConvertToUTF8 的名字“convert to utf8”已经表明它的作用是将其他编码的文件(如GBK)转化为UTF8编码,以便或段在Sublime上正常显示不乱码,但是要另存为GBK还真不行!

虽然有点反人类,但还真有不少国产项目用的是GBK编码。假如别人给你了一批GBK文件,你只是用Sublime打开看了一眼,然后发现编码变成了UTF8,还死活改不回去( ConvertToUTF8 确实会造成这样的后果),那就尴尬了。

要解决这个问题,需要用到另一款插件 GBK Support 。不像 ConvertToUTF8 那么大而全(支持中日韩文的所有标准编码), GBK Support 非常简洁,只支持GBK与UTF8之间相互转换,源码只有一个Python脚本,几乎可以当做学习Python编码处理的教材!

当打开一个文件时,如果该文件是GBK编码,那么 GBK Support 会在该文件的同目录下生成一个 .dump 文件,Sublime中打开的也是衫蠢誉这个 .dump 文件,其作用是作为一个缓冲文件。也就是说 .dump 本身是一个UTF8文件,Sublime可以正常读写,当你按 Ctrl+S 保存时 .dump 中的内容将转化为GBK编码并保存到源文件中。但是你完全不用担心过多的 .dump 文件成为磁盘垃圾,当你在Sublime中关闭文件时,目录下的 .dump 文件会立刻消失。不得不说这个办法相当巧妙!

下面是图片示例:

如果你打开的文件不是GBK编码,那么插件将不会运行,而是交给Sublime本身去处理。

如何实现 另存为 功能呢?只需 Ctrl+Shift+P ,然后输入 gbk ,选择如下图两个选项中的一个即可:

GBK Support 的作者无意留下了一个坑:UTF8字符集与GBK字符集中存在一些特殊字符相互之间无法识别,导致转换无法进行。

当遇到这种情况时怎么办? GBK Support 选择了最糟糕的处理方式:不转换,并且一声不吭!当初我遇到这个问题还傻傻地以为Sublime卡死了~

如下图UTF8文件中存在一个特殊字符

这时用 GBK Support 令存为GBK编码将 没有任何反应 !怎么办呢?

使用PackageResourceViewer打开GBK Support的源码 sublime_gbk.py ,可以快速定位到39行 saveWithEncoding 这个函数

( 关于PackageResourceViewer参见这篇文章 Sublime深度定制:工具篇-插件修改神器PackageResourceViewer )

第43行 encode 函数是关键句, encode 函数是Python内置的编码函数,针对编码失败的问题,一般有2种解决方法:

采用第2种方法后,无法识别的特殊字符将会被忽略,在转换后的文件中消失或乱码。但一般很长的中文文件中才有少数无法识别的特殊字符,忽略掉完全不会影响阅读,这比放在那里不予转换要好得多。

现在可以随心所欲地另存为GBK了~


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12161686.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存