<commit_before>var MODE_MAP = {
    jsx         : "jsx",
    css         : "css",
    xml         : "xml",
    xsd         : "xml",
    sql         : "sql",
    lua         : "lua",
    sh          : "shell",
    py          : "python",
    groovy      : "groovy",
    md          : "markdown",
    protobuf    : "protobuf",
    js          : "javascript",
    ls          : "livescript",
    properties  : "properties",
    html        : "htmlmixed",
    htm         : "htmlmixed",
    jsp         : "htmlembedded",
    ejs         : "htmlembedded"
};

// 代码模式
function getModeByName(mod) {
    mod = mod.replace (/.*\./ , '');
    return MODE_MAP[mod];
}

// 字符解码
function decodeUnicode(str) {
    return JSON.parse ('"'+str+'"')
               .substr(  1  , -1  );
}
<commit_msg>修复针对 properties 的 utf-8 解码时误将 \ 替换成 % 的问题<commit_after>var EXTNTOMODE = {
    jsx         : "jsx",
    css         : "css",
    xml         : "xml",
    xsd         : "xml",
    sql         : "sql",
    lua         : "lua",
    sh          : "shell",
    py          : "python",
    groovy      : "groovy",
    md          : "markdown",
    protobuf    : "protobuf",
    js          : "javascript",
    ls          : "livescript",
    properties  : "properties",
    html        : "htmlmixed",
    htm         : "htmlmixed",
    jsp         : "htmlembedded",
    ejs         : "htmlembedded"
};

// 代码模式
function getModeByName(mod) {
    mod = mod.replace (/.*\./ , '');
    return EXTNTOMODE [mod];
}

// 字符解码
function decodeUnicode(str) {
    return JSON.parse ('"'+str+'"')
               .substr(  1  , -1  );
}

{'fraction_non_alphanumeric': 0.1569731081926204, 'fraction_numerical': 0.0031269543464665416, 'mean_word_length': 1.3323615160349853, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 6}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2965393', 'n_tokens_mistral': 588, 'n_tokens_neox': 575, 'n_words': 115}