java利用ascii码表,把汉字转成拼音(完整版)

本文详细介绍了如何使用Java编程将汉字转换为对应的拼音,包括利用ASCII码表和相关API,适合Java开发者进行字符串处理时参考。
摘要由CSDN通过智能技术生成

解决的问题实际上是: 输入一个汉语拼音,从数据库或xml文件里查询出对应的拼音开头的汉字

以下为解决问题需要的资源地址:

汉字和ascii码的关系(汉字码也叫内码是ascii码的扩展)
参考url地址: http://tech.ccw.com.cn/article/199466.htm

计算机中汉字是如何表示的(即汉字表示的基础知识)
http://www.cbi.pku.edu.cn/chinese/documents/csdoc/basic/

java利用ascii码表,把汉字转成拼音(完整版)  ,即  java 代码示例:
http://blog.lequ8.cn/louis/2006/6/27/

以上三个网址:一步步看看,就可以解决:
   给个“拼音或字母”,就可以从数据库里查询到相对应的 “汉字”。

 

网上资源提供了一个“利用ascii码表,把汉字转成拼音”的源代码,如下:

java利用ascii码表,把汉字转成拼音(完整版)

由于网上的api只能处理常见的汉字对于有些汉字转不了,或者不太准确,本人利用输入法的码表制作了个java的API
该API制作过程种碰到了"exceeding the 65535 bytes limit" java中每个函数不能多余65535个字节的限制,码表的初始化过程分了很多个函数来解决码表的初始化过程。代码部分如下:

完整代码下载:http://www.easyea.com/UserFiles/0/0/0/6/File/CnToSpell.zip


import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Set;
import java.util.Date;

/**
 *
 * 汉字转化为全拼,码表利用输入法的码表导出,汉字信息非常全,平时见到的汉字
 * 转拼音的API只能处理几千个一级汉字,很多字都没有法查到,尤其是我自己的姓
 * 都查不到所以只好自己做一个汉字转拼音的API,该API除可以处理99%以上的汉字,
 * 而且可以返回多音字的读音
 *
 * JDK版本: 1.4
 */
public class CnToSpell {
    private static LinkedHashMap spellMap = null;

    static {
        if (spellMap == null) {
            spellMap = new LinkedHashMap(20901);
        }
        initialize();
    }

    private CnToSpell() {
    }

    private static void spellPut(String ascii, String spells) {
        spellMap.put(ascii, spells);
    }
   
    private static void initialize() {
        init0();
        init1();
        init2();
        init3();
        init4();
        init5();
        init6();
        init7();
        init8();
        init9();
        init10();
        init11();
        init12();
        init13();
        init14();
        init15();
        init16();
        init17();
        init18();
        init19();
        init20();
        init21();
        init22();
        init23();
        init24();
        init25();
        init26();
        init27();
        init28();
        init29();
        init30();
        init31();
        init32();
        init33();
        init34();
        init35();
        init36();
        init37();
        init38();
        init39();
        init40();
        init41();
        init42();
        init43();
        init44();
        init45();
        init46();
        init47();
        init48();
        init49();
        init50();
        init51();
        init52();
        init53();
        init54();
        init55();
        init56();
        init57();
        init58();
        init59();
        init60();
        init61();
        init62();
        init63();
        init64();
        init65();
        init66();
        init67();
        init68();
        init69();
        init70();
        init71();
        init72();
        init73();
        init74();
        init75();
        init76();
        init77();
        init78();
        init79();
        init80();
        init81();
        init82();
    

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值