繁体字通常采用BIG5编码,简体字通常采用GBK或者GB18030编码,这种情况下,直接使用iconv(linux下有对应的命令,也有对应的C API供编程调用)就行。对于默认采用utf-8编码的文件或者繁简体都并存的情况(通常采用utf-8)编码的情况,iconv这种方式就不行了。这里我们可以采用一个调用 opencc 的开源库,来实现UTF-8编码环境下的简体、繁体互转的功能。参照 https://github.com/BYVoid/OpenCC 完成opencc库的安装
     
     下面是自己用C++程序调用相关的API来完成的繁体转简体的功能

//test.cpp

#include <iostream>
#include <opencc/opencc.h> using namespace std; int main ( int argc, char *argv[] )
{
string str= "中華人民共和國反分裂國家法";
//string str= "中华人民共和国反分裂国家法"; //默认的是简体转繁体即OPENCC_DEFAULT_CONFIG_TRAD_TO_SIMP, opencc.h头文件中有详细介绍
opencc_t ot = opencc_open(OPENCC_DEFAULT_CONFIG_TRAD_TO_SIMP); char buffer[512] = {'\0'};
opencc_convert_utf8_to_buffer(ot, str.c_str(), str.size(), buffer);
cout << "result is " << buffer << endl; opencc_close(ot); return 0;
}
编译 g++ test.cpp -o test -lopencc

最新文章

  1. 解决 MVC 用户上线下线状态问题
  2. Java 并发之线程安全
  3. oc结构
  4. Mac系统的终端显示git当前分支
  5. 用 CSS3 做一个流星雨动画
  6. windows下如何创建没有名字的.htaccess文件
  7. 摄像头ov2685中关于sensor id 设置的相关的寄存器地址
  8. 在Windows平台下Qt的exe报错问题排查步骤
  9. 我从Angular 2转向Vue.js, 也没有选择React
  10. Mongo数据库基本操作
  11. Java学习笔记32(集合框架六:Map接口)
  12. Jmeter的安装与使用
  13. [原创]K8飞刀20160613 Plesk密码 &amp; 注册表16进制转换 &amp; Html实体解密
  14. rsync 数据备份+cron+mailx案例
  15. Delphi调用JAVA的WebService上传XML文件(XE10.2+WIN764)
  16. 网页正文提取,降噪的实现(readability/Document)
  17. /proc/cpuinfo 文件分析(查看CPU信息)
  18. PHP 支持简写方式
  19. 详解java中的TreeSet集合
  20. 设置IIS允许下载.config文件

热门文章

  1. 格式化时间的一个好方法(补充moment)
  2. JS错误记录 - 微博发布
  3. APK瘦身记,怎样实现高达53%的压缩效果
  4. ZOJ 1796 Euchre Results 数学水题
  5. 【例题3-3 UVA - 401】Palindromes
  6. Chromium网页URL载入过程分析
  7. (六)RabbitMQ消息队列-消息任务分发与消息ACK确认机制(PHP版)
  8. struts2-token防止重复提交解决办法
  9. POI操作Excel常用方法总结 分类: B1_JAVA 2013-08-23 10:01 349人阅读 评论(0) 收藏
  10. JAVA 中无锁的线程安全整数 AtomicInteger介绍和使用