python实现简体中文和繁体相互转换
1. opencc-python
如果目录上的链接被屏蔽了,请手动复制 https://pypi.python.org/pypi/opencc-python/
首先介绍opencc的python实现库,它具有安装简单,翻译准确,使用方便等优点。对于我们的需求完全能够胜任。使用步骤如下:
1.1 在terminal中安装opencc-python
pip install opencc-python
如果安装中出现了如下错误:
请先下载 distribute_setup.zip,解压缩后,把distribute_setup.py放到C:\Python27\Lib。然后再执行pip命令。
1.2 使用代码:
# -*- coding: utf8 -*- import opencc cc = opencc.OpenCC('t2s') print cc.convert(u'Open Chinese Convert(OpenCC)「開放中文轉換」,是一個致力於中文簡繁轉換的項目,提供高質量詞庫和函數庫(libopencc)。')
输出为:
Open Chinese Convert(OpenCC)「开放中文转换」,是一个致力于中文简繁转换的项目,提供高质量词库和函数库(libopencc)。
这里有四种内建的opencc翻译配置:
- t2s - 繁体转简体(Traditional Chinese to Simplified Chinese)
- s2t - 简体转繁体(Simplified Chinese to Traditional Chinese)
- mix2t - 混合转繁体(Mixed to Traditional Chinese)
- mix2s - 混合转简体(Mixed to Simplified Chinese)
2. zhtools
简要步骤如下:
2.1 中文简体和繁体转换所需Python库:zh_wiki.py(在原作者的库中新添近一倍词库), langconv
2.2 使用代码
from langconv import * def simple2tradition(line): #将简体转换成繁体 line = Converter('zh-hant').convert(line.decode('utf-8')) line = line.encode('utf-8') return line def tradition2simple(line): # 将繁体转换成简体 line = Converter('zh-hans').convert(line.decode('utf-8')) line = line.encode('utf-8') return line
该方案的优点是轻量,使用方便,简洁,但又可能翻译不太准确,例如,原作者的库是这样翻译成繁体的:
\前後,後羿\
而准确的繁体是这样的:
\前後,后羿\
3. 总结
最终项目还是采用第二种方案,因为在库填充后,准确度还可以的情况下,第二种方案轻量,对游戏不会造成不可预见的影响。当然第一种方案是非常成熟和准确的,无论作为研究和作品工具都非常不错的选择。
python实现简体中文和繁体相互转换的更多相关文章
- 【Unity3D游戏开发】Application.systemLanguage无法区分简体中文和繁体中文 (二六)
游戏发布,语言本地化需要繁体中文和简体中文 iOS8版本之前没问题,iOS9上无法正常识别这两种语言 原因是在iOS9上,Unity通过Application.systemLanguage返回的简体中 ...
- 转换简体中文和繁体中文 cconv-0.6.2 for win32 static
dos状态下 chcp 65001 echo "转换简体中文和繁体中文"|cconv -f utf-8 -t utf8-tw 显示 "轉換簡體中文和繁體中文" ...
- Python RGB 和HSV颜色相互转换
转自:http://outofmemory.cn/code-snippet/1002/Python-RGB-HSV-color-together-switch Python RGB 和HSV颜色相互转 ...
- python datetime offset-aware与offset-navie相互转换
python datetime offset-aware与offset-navie相互转换 2016年11月13日 16:20:43 阅读数:2393 有时,我们使用python 的datetime模 ...
- [转]TrueType(TTF)字体文件裁剪(支持简体中文,繁体中文TTF字体裁剪)
原文入口: TTF字体文件裁剪(支持简体中文,繁体中文TTF字体裁剪) 对于TrueType(TTF)字体格式的介绍可以看: https://www.cnblogs.com/slysky/p/1131 ...
- Python实现字符串与数组相互转换功能示例
Python实现字符串与数组相互转换功能示例 本文实例讲述了Python实现字符串与数组相互转换功能.分享给大家供大家参考,具体如下: 字符串转数组 str = '1,2,3' arr = s ...
- Python 实现列表与二叉树相互转换并打印二叉树封装类-详细注释+完美对齐
# Python 实现列表与二叉树相互转换并打印二叉树封装类-详细注释+完美对齐 from binarytree import build import random # https://www.cn ...
- Python 实现列表与二叉树相互转换并打印二叉树16-详细注释+完美对齐-OK
# Python 实现列表与二叉树相互转换并打印二叉树16-详细注释+完美对齐-OK from binarytree import build import random # https://www. ...
- python实现中文字符繁体和简体中文转换-乾颐堂
需求:把中文字符串进行繁体和简体中文的转换: 思路:引入简繁体处理库,有兴趣的同学可以研究一下内部实现,都是python写的 1.下载zh_wiki.py及langconv zh_wiki.py:ht ...
随机推荐
- Android网络请求框架之Retrofit实践
网络访问框架经过了从使用最原始的AsyncTask构建简单的网络访问框架(甚至不能称为框架),后来使用开源的android-async-http库,再到使用google发布的volley库,一直不懈的 ...
- HBase多次加载-ROOT-和META的bug
执行以下case可以见到root或meta被加载两次: 1 kill掉root和meta表所在的rs 2 start该台rs 3 立即再次kill掉这台rs 4 立即再次start该台rs 原因: ...
- ruby中顶层定义的方法究竟放在哪里?
ruby中顶层(top level)中定义的方法放在main中,证明如下: self.private_methods(false) #IN TOP LEVEL 那么methods方法究竟是在哪定义的, ...
- codeblocks设置代码黑色主题
说明 网上资料较杂乱,特整理以备留用和他人参阅. 配置文件下载 首先下载配置文件. 配置文件 将配置文件拷到系统盘codeblocks配置路径而非安装路径. win10下路径:C:\Users\用户名 ...
- 编码与Python的基础
编码 在linux 系统或者Python2版本中要用Python这门语言呢,就需要在开头加上 # -*- coding:utf8 -*- 这个语句是说呀,当机器编译你写的程序的时候是用utf-8这种编 ...
- Android框架之Volley与Glide
PS:在看到这个题目的同时,你们估计会想,Volley与Glide怎么拿来一块说呢,他们虽然不是一个框架,但有着相同功能,那就是图片处理方面.首先我们先来看一下什么volley,又什么是glide. ...
- Java 8 基础教程 - Predicate
在Java 8中,Predicate是一个函数式接口,可以被应用于lambda表达式和方法引用.其抽象方法非常简单: /** * Evaluates this predicate on the giv ...
- HTML学习笔记3:文字和段落
①标题标签 <h1></h1> ~ <h6></h6>分别对应字体不同的大小,数字又小到大对应字体由大到小 ②段落 <p> ...
- QString与string的相互转换
1.QString转换String string s = qstr.toStdString(); 2.String转换QString QString qstr2 = QString::fromStdS ...
- java 一维数组
数组的概念?有什么特点? 数组是指一组数据的集合,数组中的每个数据被称作元素.在数组中可以存放任意类型的元素,但同一个数组里存放的元素类型必须一致. 一维数组的定义格式? 数据类型[] 名称 = ...