• 大小: 190KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-17
  • 语言: 其他
  • 标签: Sublime  中文乱码  

资源简介

解压下载文件得到ConvertToUTF8.... 复制ConvertToUTF8到C:\Users\用户名\AppData\Roaming\Sublime Text 3\Packages目录下 启动Sublime Text 3,打开乱码文件 按下ctrl+shift+c

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-

import sublime sublime_plugin
import sys
import os
if sys.version_info < (3 0):
from chardet.universaldetector import UniversalDetector
NONE_COMMAND = (None None 0)
else:
from .chardet.universaldetector import UniversalDetector
NONE_COMMAND = (‘‘ None 0)
import codecs
import threading
import json
import time

SKIP_ENCODINGS = (‘ASCII‘ ‘UTF-8‘ ‘UTF-16LE‘ ‘UTF-16BE‘)

SETTINGS = {}
REVERTING_FILES = []

CONFIRM_IS_AVAILABLE = (‘ok_cancel_dialog‘ in dir(sublime))

ENCODINGS_NAME = []
ENCODINGS_CODE = []

PKG_PATH = None

class EncodingCache(object):
def __init__(self):
self.cache_file = os.path.join(sublime.packages_path() ‘User‘ ‘encoding_cache.json‘)
self.encoding_cache = []
self.max_size = -1
self.dirty = False
self.load()
self.save_on_dirty()

def save_on_dirty(self):
if self.dirty:
self.save()
sublime.set_timeout(self.save_on_dirty 10000)

def shrink(self):
if self.max_size < 0:
return
if len(self.encoding_cache) > self.max_size:
self.dirty = True
del self.encoding_cache[self.max_size:]

def set_max_size(self max_size):
self.max_size = max_size
self.shrink()

def load(self):
if not os.path.exists(self.cache_file):
return
fp = open(self.cache_file ‘r‘)
self.encoding_cache = json.load(fp)
fp.close()
if len(self.encoding_cache) > 0:
if ‘file‘ in self.encoding_cache[0]:
# old style cache
new_cache = []
for item in self.encoding_cache:
new_cache.append({
item[‘file‘]: item[‘encoding‘]
})
self.encoding_cache = new_cache
self.dirty = True

def save(self):
self.shrink()
fp = open(self.cache_file ‘w‘)
json.dump(self.encoding_cache fp)
fp.close()
self.dirty = False

def pop(self file_name):
for item in self.encoding_cache:
if file_name in item:
self.encoding_cache.remove(item)
self.dirty = True
return item.get(file_name)
return None

def set(self file_name encoding):
if self.max_size < 1:
return
self.pop(file_name)
self.encoding_cache.insert(0 {
file_name: encoding
})
self.dirty = True

encoding_cache = None

def get_settings():
global ENCODINGS_NAME ENCODINGS_CODE
settings = sublime.load_settings(‘ConvertToUTF8.sublime-settings‘)
encoding_list = settings.get(‘encoding_list‘ [])
ENCODINGS_NAME = [pair[0] for pair in encoding_list]
ENCODINGS_CODE = [pair[1] for pair in encoding_list]
encoding_cache.set_max_size(settings.get(‘max_cache_size‘ 100))
SETTINGS[‘max_detect_lines‘] = settings.get(‘max_detect_lines‘ 600)
SETTINGS[‘preview_action‘] = settings.get(‘preview_action‘ ‘no_action‘)
SETTINGS[‘default_encoding_on_create‘] = settings.get(‘default_encoding_on_create‘ ‘‘)
SETTINGS[‘convert_on_load‘] = settings.get(‘convert_on_load‘ ‘always‘)
SETTINGS[‘convert_on_save‘] = settings.get(‘convert_on_save‘ ‘always‘)

def init_settings():
global encoding_cache PKG_PATH
encoding_cache = EncodingCache()
PKG_PATH = os.path.join(sublime.packages_path() ‘Conv

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-07-15 18:06  ConvertToUTF8\
     文件           9  2013-04-03 04:00  ConvertToUTF8\.gitignore
     文件           5  2013-04-03 04:00  ConvertToUTF8\.no-sublime-package
     目录           0  2013-07-15 18:06  ConvertToUTF8\chardet\
     文件       82594  2013-04-03 04:00  ConvertToUTF8\chardet\big5freq.py
     文件        1684  2013-04-03 04:00  ConvertToUTF8\chardet\big5prober.py
     文件        9152  2013-04-03 04:00  ConvertToUTF8\chardet\chardistribution.py
     文件        3791  2013-04-03 04:00  ConvertToUTF8\chardet\charsetgroupprober.py
     文件        1902  2013-04-03 04:00  ConvertToUTF8\chardet\charsetprober.py
     文件        2396  2013-04-03 04:00  ConvertToUTF8\chardet\codingstatemachine.py
     文件        1157  2013-04-03 04:00  ConvertToUTF8\chardet\compat.py
     文件        1335  2013-04-03 04:00  ConvertToUTF8\chardet\constants.py
     文件        1782  2013-04-03 04:00  ConvertToUTF8\chardet\cp949prober.py
     文件        3187  2013-04-03 04:00  ConvertToUTF8\chardet\escprober.py
     文件        7839  2013-04-03 04:00  ConvertToUTF8\chardet\escsm.py
     文件        3678  2013-04-03 04:00  ConvertToUTF8\chardet\eucjpprober.py
     文件       45976  2013-04-03 04:00  ConvertToUTF8\chardet\euckrfreq.py
     文件        1675  2013-04-03 04:00  ConvertToUTF8\chardet\euckrprober.py
     文件       34872  2013-04-03 04:00  ConvertToUTF8\chardet\euctwfreq.py
     文件        1676  2013-04-03 04:00  ConvertToUTF8\chardet\euctwprober.py
     文件       36011  2013-04-03 04:00  ConvertToUTF8\chardet\gb2312freq.py
     文件        1681  2013-04-03 04:00  ConvertToUTF8\chardet\gb2312prober.py
     文件       13359  2013-04-03 04:00  ConvertToUTF8\chardet\hebrewprober.py
     文件       47315  2013-04-03 04:00  ConvertToUTF8\chardet\jisfreq.py
     文件       19349  2013-04-03 04:00  ConvertToUTF8\chardet\jpcntx.py
     文件       12784  2013-04-03 04:00  ConvertToUTF8\chardet\langbulgarianmodel.py
     文件       17725  2013-04-03 04:00  ConvertToUTF8\chardet\langcyrillicmodel.py
     文件       12628  2013-04-03 04:00  ConvertToUTF8\chardet\langgreekmodel.py
     文件       11318  2013-04-03 04:00  ConvertToUTF8\chardet\langhebrewmodel.py
     文件       12536  2013-04-03 04:00  ConvertToUTF8\chardet\langhungarianmodel.py
     文件       11275  2013-04-03 04:00  ConvertToUTF8\chardet\langthaimodel.py
............此处省略31个文件信息

评论

共有 条评论