最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java全角、半角字符的關(guān)系以及轉(zhuǎn)換詳解

 更新時間:2013年11月25日 16:35:37   作者:  
這篇文章主要介紹了

如果搞明白了Java中全角字符和半角字符之間的關(guān)系

那他們之間的轉(zhuǎn)換根本就不是個事.

全角字符與半角字符的關(guān)系

可以通過下面的程序看看Java中所有字符以及對應編碼的值

復制代碼 代碼如下:

    public static void main(String[] args) {
        for (int i = Character.MIN_VALUE; i <= Character.MAX_VALUE; ++i) {
            System.out.println(i + "    " + (char)i);
        }
    }

 

從輸出可以看到

1.半角字符是從33開始到126結(jié)束
2.與半角字符對應的全角字符是從65281開始到65374結(jié)束
3.其中半角的空格是32.對應的全角空格是12288
半角和全角的關(guān)系很明顯,除空格外的字符偏移量是65248(65281-33 = 65248)

Java語言實現(xiàn)全角、半角之間的轉(zhuǎn)換

了解了全半角字符之間的關(guān)系,再來看看Java的實現(xiàn)

復制代碼 代碼如下:

/**
     * 全角字符串轉(zhuǎn)換半角字符串
     *
     * @param fullWidthStr
     *            非空的全角字符串
     * @return 半角字符串
     */
    private static String fullWidth2halfWidth(String fullWidthStr) {
        if (null == fullWidthStr || fullWidthStr.length() <= 0) {
            return "";
        }
        char[] charArray = fullWidthStr.toCharArray();
        //對全角字符轉(zhuǎn)換的char數(shù)組遍歷
        for (int i = 0; i < charArray.length; ++i) {
            int charIntValue = (int) charArray[i];
            //如果符合轉(zhuǎn)換關(guān)系,將對應下標之間減掉偏移量65248;如果是空格的話,直接做轉(zhuǎn)換
            if (charIntValue >= 65281 && charIntValue <= 65374) {
                charArray[i] = (char) (charIntValue - 65248);
            } else if (charIntValue == 12288) {
                charArray[i] = (char) 32;
            }
        }
        return new String(charArray);
    }

相關(guān)文章

  • springboot?接收LocalDateTime方式

    springboot?接收LocalDateTime方式

    這篇文章主要介紹了springboot?接收LocalDateTime方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Java中Integer兩種轉(zhuǎn)int方法比較

    Java中Integer兩種轉(zhuǎn)int方法比較

    本文主要介紹了Java Integer兩種轉(zhuǎn)int方法比較。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • 在Ubuntu系統(tǒng)下安裝JDK和Tomcat的教程

    在Ubuntu系統(tǒng)下安裝JDK和Tomcat的教程

    這篇文章主要介紹了在Ubuntu系統(tǒng)下安裝JDK和Tomcat的教程,這樣便是在Linux系統(tǒng)下搭建完整的Java和JSP開發(fā)環(huán)境,需要的朋友可以參考下
    2015-08-08
  • Java?DirectByteBuffer堆外內(nèi)存回收詳解

    Java?DirectByteBuffer堆外內(nèi)存回收詳解

    這篇文章主要為大家詳細介紹了Java中發(fā)DirectByteBuffer堆外內(nèi)存回收,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下
    2022-10-10
  • Spring-基于Spring使用自定義注解及Aspect實現(xiàn)數(shù)據(jù)庫切換操作

    Spring-基于Spring使用自定義注解及Aspect實現(xiàn)數(shù)據(jù)庫切換操作

    這篇文章主要介紹了Spring-基于Spring使用自定義注解及Aspect實現(xiàn)數(shù)據(jù)庫切換操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 通過Java實現(xiàn)在Word中創(chuàng)建可填充表單

    通過Java實現(xiàn)在Word中創(chuàng)建可填充表單

    這篇文章主要為大家詳細介紹了如何通過Java代碼,以編程方式在Word中創(chuàng)建可填充表單,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-03-03
  • 最新JVM垃圾回收算法詳解

    最新JVM垃圾回收算法詳解

    ? 垃圾收集器對堆進行回收前,首先要確定堆中的對象哪些還"存活",哪些已經(jīng)"死去"。有兩種算法,分別是引用計數(shù)算法(Recference?Counting)和可達性分析算法(Reachability?Analysis),這篇文章主要介紹了JVM垃圾回收算法,需要的朋友可以參考下
    2022-05-05
  • Java網(wǎng)絡編程之UDP網(wǎng)絡通信詳解

    Java網(wǎng)絡編程之UDP網(wǎng)絡通信詳解

    這篇文章主要為大家詳細介紹了Java網(wǎng)絡編程中的UDP網(wǎng)絡通信的原理與實現(xiàn),文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下
    2022-09-09
  • Mybatis分頁查詢的實現(xiàn)(Rowbounds和PageHelper)

    Mybatis分頁查詢的實現(xiàn)(Rowbounds和PageHelper)

    本文主要介紹了Mybatis分頁查詢的實現(xiàn)(Rowbounds和PageHelper),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • java.security.egd?作用詳解

    java.security.egd?作用詳解

    這篇文章主要為大家介紹了java.security.egd作用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08

最新評論

莎车县| 营口市| 唐河县| 丹凤县| 桦甸市| 曲阳县| 饶阳县| 合山市| 红安县| 临武县| 义马市| 建平县| 勐海县| 青龙| 光泽县| 南汇区| 陆河县| 高清| 宽城| 祁连县| 四子王旗| 西充县| 秦皇岛市| 七台河市| 鄢陵县| 沐川县| 临朐县| 咸宁市| 伊春市| 深州市| 苏州市| 平山县| 清苑县| 鄂州市| 分宜县| 额济纳旗| 额敏县| 梁河县| 崇阳县| 新源县| 淮滨县|