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

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

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

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

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

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

可以通過下面的程序看看Java中所有字符以及對(duì)應(yīng)編碼的值

復(fù)制代碼 代碼如下:

    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.與半角字符對(duì)應(yīng)的全角字符是從65281開始到65374結(jié)束
3.其中半角的空格是32.對(duì)應(yīng)的全角空格是12288
半角和全角的關(guān)系很明顯,除空格外的字符偏移量是65248(65281-33 = 65248)

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

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

復(fù)制代碼 代碼如下:

/**
     * 全角字符串轉(zhuǎn)換半角字符串
     *
     * @param fullWidthStr
     *            非空的全角字符串
     * @return 半角字符串
     */
    private static String fullWidth2halfWidth(String fullWidthStr) {
        if (null == fullWidthStr || fullWidthStr.length() <= 0) {
            return "";
        }
        char[] charArray = fullWidthStr.toCharArray();
        //對(duì)全角字符轉(zhuǎn)換的char數(shù)組遍歷
        for (int i = 0; i < charArray.length; ++i) {
            int charIntValue = (int) charArray[i];
            //如果符合轉(zhuǎn)換關(guān)系,將對(duì)應(yīng)下標(biāo)之間減掉偏移量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方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Java中Integer兩種轉(zhuǎn)int方法比較

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

    本文主要介紹了Java Integer兩種轉(zhuǎn)int方法比較。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    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)存回收詳解

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

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

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

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

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

    最新JVM垃圾回收算法詳解

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

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

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

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

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

    java.security.egd?作用詳解

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

最新評(píng)論

新野县| 洛隆县| 商南县| 定陶县| 镇坪县| 突泉县| 八宿县| 钦州市| 淮南市| 扶沟县| 芜湖市| 山阴县| 色达县| 灵川县| 如东县| 滦平县| 灵寿县| 渝北区| 玉林市| 栾城县| 开远市| 松潘县| 新野县| 合水县| 胶南市| 定南县| 繁峙县| 无棣县| 托克逊县| 紫阳县| 乐陵市| 桑日县| 庆安县| 双牌县| 科技| 镇远县| 丰台区| 白玉县| 望城县| 读书| 五大连池市|