PinYinUtils 使用过程中出现崩溃,数组越界问题处理

compile 'com.belerweb:pinyin4j:2.5.1'    gradle依赖
public static String getPingYin(String inputString) {if (TextUtils.isEmpty(inputString)) {return "#";}HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();format.setCaseType(HanyuPinyinCaseType.LOWERCASE);format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);format.setVCharType(HanyuPinyinVCharType.WITH_V);char[] input = inputString.trim().toCharArray();StringBuilder output = new StringBuilder();try {for (char curchar : input) {if (Character.toString(curchar).matches("[\\u4E00-\\u9FA5]+")) {String[] temp = PinyinHelper.toHanyuPinyinStringArray(curchar, format);if (temp == null || temp.length == 0) {// unicode_to_hanyu_pinyin.txt里写死了部分汉字没有拼音,比如\u8985, 覅,// 也就是正常情况这个temp可能为空,Log.e(TAG, "获取拼音失败:" + inputString + " -> " + curchar);output.append("#");} else {output.append(temp[0]);}} else if (Character.isAlphabetic(curchar)) {output.append(Character.toLowerCase(curchar));} else {output.append("#");}}} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}return output.toString();}private static boolean isChineseCharacter(char ch) {return '\u4E00' < ch && ch < '\u9FA5';}

https://blog.csdn.net/haovip123/article/details/50994187?utm_source=blogxgwz3
https://www.cnblogs.com/scetopcsa/p/4724308.html
https://www.cnblogs.com/bluestorm/archive/2012/07/23/2605412.html
https://www.cnblogs.com/liaojie970/p/5490180.html

pinyin4j使用崩溃相关推荐

  1. dev c++ 调试时候发生软件崩溃解决办法

    dev c++ 调试时候发生软件崩溃解决办法 安装好dev cpp,准备调试的时候发现软件崩溃,这种情况很好解决.只要在工具菜单中点开编译选项,找到代码生成/优化一栏,将链接器的"产生调试信 ...

  2. c语言中字符串数组的地址存放以及%s输出单个字符导致程序崩溃的问题

    代码 总结下c语言中字符串数组的地址存放问题 #include <iostream> using namespace std; #include<bits/stdc++.h>i ...

  3. linux下发布的执行文件崩溃的问题定位 心得一则

    C++ Release版本发布到客户处执行时,如果程序崩溃,有什么办法能够快速的确认程序的问题呢? 如果能gdb调试的话,比较简单了,可以使用gdb命令,类似如下: gdb ## set args * ...

  4. Java pinyin4j 汉字转拼音包括——多音字

    Java汉字转拼音(包括多音字) 有个需求需要把汉字转拼音,我的小伙伴推荐用Unicode官方的包:下载有些慢. 实际中用了Java工具包:pinyin4j解决 可以转汉字,多音字,多音字的地方要求不 ...

  5. linux 系统崩溃完全没有操作空间的系统修复

    linux 系统崩溃完全没有操作空间的系统修复 1.通过U盘系统启动 2.修复文件系统 https://editor.csdn.net/md/?articleId=106213788 此时硬盘会被挂在 ...

  6. Linux下程序崩溃dump时的 core文件的使用方法

    Linux下程序崩溃dump时的 core文件的使用方法 1.在启动程序前执行 ulimit -c unlimited unlimited 表示生成文件的大小限制,也可以修改为自定义的大小,例如: u ...

  7. 使用windbg抓取崩溃文件和分析的过程

    在软件编程中,崩溃的场景比较常见的.且说微软技术再牛X,也是会出现崩溃的场景.网上有一段Win98当着比尔盖茨蓝屏的视频非常有意思. (转载请指明出于breaksoftware的csdn博客)     ...

  8. 【Qt】通过QtCreator源码学习Qt(三):linux平台的信号、程序崩溃处理

    崩溃处理设置:CrashHandlerSetup 1.原理 在堆中为信号处理函数分配一块区域,作为该函数的栈使用,当系统默认的栈空间用尽时,调用信号处理函数使用的栈是在堆中分配的空间,而不是系统默认的 ...

  9. 【Qt】Qt信号与槽使用不当,使程序崩溃

    问题描述 跨线程使用Qt信号和槽,信号发送时间间隔小于槽函数处理时间时,造成程序崩溃. 原因分析 跨线程使用Qt信号和槽时,connect默认是QueuedConnection,队列连接方式. 信号传 ...

最新文章

  1. 塞尔达传说顺序_编码《塞尔达传说》克隆图例
  2. Linux下LCD 10分钟自动关屏的问题总结
  3. 【求助】小系统组成大系统所遇到的问题
  4. 360Alluxio联合Meetup——分布式存储与Alluxio应用实践
  5. php远程simplexml_load_string()出错,PHP simplexml_load_string无法正常工作
  6. IIS服务器应用程序不可用的解决办法
  7. NXP S32K3 RTD-MCAL快速引导
  8. protel DXP 2004
  9. STM32F207时钟系统解析
  10. 【python】chardet函数用法
  11. 类继承和依赖注入的关系_管理类依赖关系:依赖关系注入,服务定位符和工厂简介,第1部分...
  12. 无法解压文件请重新启动计算机,为什么rar文件无法解压,显示数据错误,文
  13. 二分法求任意正弦值sin31°
  14. motan学习笔记 一 微博轻量级RPC框架Motan
  15. 实际参数与形式参数的区别
  16. 华为薪资垫底,腾讯阿里被逆袭,第一竟然是…
  17. 拓商:拼多多客服回复慢,到底应该怎么解决?
  18. C语言中文文档、C语言文档大全(网址)
  19. 第十章 Python第三方库
  20. 孙云球(二分枚举)(AOJ 851)

热门文章

  1. 微信小程序--侧边分类栏
  2. 运用百度地图api简单定位自己的位置
  3. 低价引流如何实现高回报
  4. Web服务器的配置(详细图文教程)
  5. SupeSite启用调试的方法
  6. java打印三角形、等腰三角形、直角三角形
  7. Command命令模式
  8. 迅为RK3588开发板单独编译 Android 固件
  9. C语言从零开始之Hello World
  10. DNS服务器 - 解析与集群