欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java全角、半角字符的關系以及轉換詳解

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

如果搞明白了Java中全角字符和半角字符之間的關系

那他們之間的轉換根本就不是個事.

全角字符與半角字符的關系

可以通過下面的程序看看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結束
2.與半角字符對應的全角字符是從65281開始到65374結束
3.其中半角的空格是32.對應的全角空格是12288
半角和全角的關系很明顯,除空格外的字符偏移量是65248(65281-33 = 65248)

Java語言實現全角、半角之間的轉換

了解了全半角字符之間的關系,再來看看Java的實現

復制代碼 代碼如下:

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

相關文章

  • java實現監(jiān)控rtsp流轉flv方法實例(前端播放,前后端代碼都有)

    java實現監(jiān)控rtsp流轉flv方法實例(前端播放,前后端代碼都有)

    這篇文章主要給大家介紹了關于java實現監(jiān)控rtsp流轉flv的相關資料,文中介紹的是前端播放,前后端代碼都有,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • Springboot讀取配置文件及自定義配置文件的方法

    Springboot讀取配置文件及自定義配置文件的方法

    這篇文章主要介紹了Springboot讀取配置文件及自定義配置文件的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-12-12
  • Java實現的打地鼠小游戲完整示例【附源碼下載】

    Java實現的打地鼠小游戲完整示例【附源碼下載】

    這篇文章主要介紹了Java實現的打地鼠小游戲,結合完整實例形式分析了Java多線程操作及鍵盤按鍵響應實現的打地鼠游戲功能相關操作技巧,需要的朋友可以參考下
    2018-07-07
  • Java并發(fā)編程示例(五):線程休眠與恢復

    Java并發(fā)編程示例(五):線程休眠與恢復

    這篇文章主要介紹了Java并發(fā)編程示例(五):線程休眠與恢復,在本節(jié),我們將開發(fā)一個程序,使用sleep()方法來實現每秒鐘打印一次當前時間,需要的朋友可以參考下
    2014-12-12
  • SpringBoot編譯target目錄下沒有resource下的文件踩坑記錄

    SpringBoot編譯target目錄下沒有resource下的文件踩坑記錄

    這篇文章主要介紹了SpringBoot編譯target目錄下沒有resource下的文件踩坑記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • IDEA?下?Gradle?刪除多余無用依賴的處理方法

    IDEA?下?Gradle?刪除多余無用依賴的處理方法

    這篇文章主要介紹了IDEA下Gradle刪除多余無用依賴,使用該插件可以一定程度上幫助我們刪除無用依賴,但是也可能會多刪除有用的依賴,需要在使用插件自動修復后手動檢測項目,驗證是否會出現問題,避免導致上線發(fā)布錯誤的負優(yōu)化
    2022-03-03
  • Spring Bean的線程安全問題

    Spring Bean的線程安全問題

    Spring容器中的Bean是否線程安全,本文主要介紹了Spring Bean的線程安全問題,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Mybatis 動態(tài)SQL搭建環(huán)境的全過程

    Mybatis 動態(tài)SQL搭建環(huán)境的全過程

    這篇文章主要給大家介紹了關于Mybatis動態(tài)SQL搭建環(huán)境的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • JavaStream將List轉為Map示例

    JavaStream將List轉為Map示例

    這篇文章主要為大家介紹了JavaStream將List轉為Map示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • SpringBoot+OCR?實現圖片文字識別

    SpringBoot+OCR?實現圖片文字識別

    本文主要介紹了SpringBoot+OCR 實現圖片文字識別,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12

最新評論