<!-- https://mvnrepository.com/artifact/com.github.liuyueyi/quick-transfer-core --><dependency> <groupid>com.github.liuyueyi</groupid> <artifactid>quick-transfer-core</artifactid> <version>0.2.6</version></dependency>
说明:0.2.6版本于2022-08-11上传,若在mvn仓库搜索不到,不要慌,可以先使用0.2.5
如果是gradle做项目管理,依赖同样很简单
// https://mvnrepository.com/artifact/com.github.liuyueyi/quick-transfer-coreimplementation 'com.github.liuyueyi:quick-transfer-core:0.2.6'
此外,针对网络不好的小伙伴,也可以通过jitpack的方式导入依赖,具体姿势如下
maven依赖<repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository></repositories><dependency> <groupid>com.github.liuyueyi.quick-chinese-transfer</groupid> <artifactid>quick-transfer-core</artifactid> <version>0.2.6</version></dependency>
gradle依赖allprojects { repositories { ... maven { url 'https://jitpack.io' } }}dependencies { implementation 'com.github.liuyueyi.quick-chinese-transfer:quick-transfer-core:0.2.6'}
环境准备完毕之后,可以直接进行使用了,使用姿势非常非常非常的简单
public void testtrans() { string text = "这斜月三星洞…… 长寿面,孙悟空,猪八戒,唐僧,沙和尚,白龙马,李靖,托塔天王, 戏说西游,许多人都这样说,收拾一下,拾金不昧;纔=才"; // 简体转繁体 string out = chineseutils.s2t(text); system.out.println("s2t -->" + out); // 简体转香港繁体 string hkout = chineseutils.s2hk(text); system.out.println("s2hk -->" + hkout); // 简体转台湾繁体 string twout = chineseutils.s2tw(text); system.out.println("s2tw --> " + twout); // 繁体转简体 string origin = chineseutils.t2s(out); system.out.println("t2s -->" + origin); // 香港繁体转简体 system.out.println("hk2s -->" + chineseutils.hk2s(hkout)); // 台湾繁体转简体 system.out.println("tw2s -->" + chineseutils.tw2s(twout));}
入口类 chineseutils 支持简繁互转,这里区分了香港繁体 + 台湾繁体,两者的主要区别在于某些字、词的叫法不一样
通常来讲,使用最简单的简繁互即可
上面的case输出结果如下:
s2t -->這斜月三星洞…… 長壽麪,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲說西遊,許多人都這樣說,收拾一下,拾金不昧;纔=才
s2hk -->這斜月三星洞…… 長壽麪,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲説西遊,許多人都這樣説,收拾一下,拾金不昧;才=才
s2tw --> 這斜月三星洞…… 長壽麵,孫悟空,豬八戒,唐僧,沙和尚,白龍馬,李靖,托塔天王, 戲說西遊,許多人都這樣說,收拾一下,拾金不昧;才=才
t2s -->这斜月三星洞…… 长寿面,孙悟空,猪八戒,唐僧,沙和尚,白龙马,李靖,托塔天王, 戏说西游,许多人都这样说,收拾一下,拾金不昧;才=才
hk2s -->这斜月三星洞…… 长寿面,孙悟空,猪八戒,唐僧,沙和尚,白龙马,李靖,托塔天王, 戏说西游,许多人都这样说,收拾一下,拾金不昧;才=才
tw2s -->这斜月三星洞…… 长寿面,孙悟空,猪八戒,唐僧,沙和尚,白龙马,李靖,托塔天王, 戏说西游,许多人都这样说,收拾一下,拾金不昧;才=才
2. 进阶使用简繁转换,核心在于词典的管理,改类库在首次实现转换的时候,会加载词典,并解析为内部的数据结构dict;因此第一次调用时,会出现冷启动的耗时高问题
2.1 预热基于此,可以再合适的地方先预热加载词典;官方提供了同步预热/异步预热两种方式,如
// 预热加载所有的词典chineseutils.preload(true, transtype.values());// 预加载简体转繁体词典chineseutils.preload(true, transtype.simple_to_traditional);// 预加载简繁互转词典chineseutils.preload(true, transtype.simple_to_traditional, transtype.traditional_to_simple);
preload方法的第一个参数,就是用来控制同步还是异步的情况
后面的参数则为希望加载的词典
2.2 卸载同样有了预热就有卸载,对于客户端的小伙伴来说可能更关注这一点的内存占用;对于不需要的词典,可以指定卸载
// 卸载所有词典chineseutils.unload(transtype.values());// 卸载简繁互转词典chineseutils.unload(transtype.simple_to_traditional, transtype.traditional_to_simple);
2.3 通用方法在第一节的使用实例中,提供了各种特有的方法来实现转换;同样也提供一个统一的方法,根据传参的词典类型来进行转换;适用于统一api接口的设计,根据传参来返回对应的结果场景
chineseutils.transfer("一灰灰blog", transtype.simple_to_traditional);
以上就是java开源好用的简繁转换类库实例分析的详细内容。
