当前位置: 代码迷 >> J2SE >> Java中的超大字符集有关问题,遇到含有超大字符集的字符串,如何样才能定位字符串中的第N个字符
  详细解决方案

Java中的超大字符集有关问题,遇到含有超大字符集的字符串,如何样才能定位字符串中的第N个字符

热度:70   发布时间:2016-04-23 19:53:40.0
Java中的超大字符集问题,遇到含有超大字符集的字符串,怎么样才能定位字符串中的第N个字符?
本帖最后由 u010932630 于 2015-04-14 10:43:06 编辑
才能定位字符串中的第N个字符?
比如:str="胜多负少士大夫";,str的值是变化的,其中可能含有超大字符集,我每次都需要从str中截取到第N个字符,怎么样才能定位字符串中的第N个字符?

------解决思路----------------------
在java内部所有的字符都是以utf-8表示的,同C/C++等不一样,charAt就可以满足需求。只有输入输出才需要考虑字符集问题。
------解决思路----------------------
   
        String str ="猋一麤二";
        char[] chars = Character.toChars(str.codePointAt(2));
        System.out.println(chars);


------解决思路----------------------
引用:
Quote: 引用:


这里是个,因为csdn不能发大字符集的数据, str="其中某个大字符集"的“中”比如是大字符集字符就不样了,比如:
str=“士A大B夫” (其中AB为大字符) str.charAt(1)得到的就是?

我觉得是A。不论你的编码规则是什么,charAt是根据unicode值查找的,统一的操作。



别逗,好吗?

Java中String的charAt(int i)返回的其实就是底层char[]数组中的第i个字符,觉得我说的不对,可以自己看看源代码。

打印出现?,只能说明,字符编码集有问题!
  相关解决方案