java中字符進行全角半角轉換示例代碼
更新時間:2017年08月25日 10:12:47 作者:xixicat
全角:指一個字符占用兩個標準字符位置,而半角:指一字符占用一個標準的字符位置,在日常開發(fā)中經常會遇到全角半角轉換的要求,下面這篇文章主要給大家介紹了關于java中字符進行全角半角轉換的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
前言
本文將給大家展示一下如何將char進行半角與全角轉換,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。
術語
全角
- SBC case
- Sexagesimal to Binary Converter
- 60進制轉為2進制
半角
- DBC case
- Decimal to Binary Converter
- 10進制轉為2進制
工具類
public class AsciiUtil {
public static final char SBC_SPACE = 12288; // 全角空格 12288
public static final char DBC_SPACE = 32; //半角空格 32
// ASCII character 33-126 <-> unicode 65281-65374
public static final char ASCII_START = 33;
public static final char ASCII_END = 126;
public static final char UNICODE_START = 65281;
public static final char UNICODE_END = 65374;
public static final char DBC_SBC_STEP = 65248; // 全角半角轉換間隔
public static char sbc2dbc(char src){
if (src == SBC_SPACE) {
return DBC_SPACE;
}
if (src >= UNICODE_START && src <= UNICODE_END) {
return (char) (src - DBC_SBC_STEP);
}
return src;
}
/**
* Convert from SBC case to DBC case
*
* @param src
* @return DBC case
*/
public static String sbc2dbcCase(String src) {
if (src == null) {
return null;
}
char[] c = src.toCharArray();
for (int i = 0; i < c.length; i++) {
c[i] = sbc2dbc(c[i]);
}
return new String(c);
}
public static char dbc2sbc(char src){
if (src == DBC_SPACE) {
return SBC_SPACE;
}
if (src <= ASCII_END) {
return (char) (src + DBC_SBC_STEP);
}
return src;
}
/**
* Convert from DBC case to SBC case.
*
* @param src
* @return SBC case string
*/
public static String dbc2sbcCase(String src) {
if (src == null) {
return null;
}
char[] c = src.toCharArray();
for (int i = 0; i < c.length; i++) {
c[i] = dbc2sbc(c[i]);
}
return new String(c);
}
}
驗證
@Test
public void testDBC(){
System.out.println(AsciiUtil.sbc2dbcCase("hello world"));
System.out.println(AsciiUtil.dbc2sbcCase("hello world"));
}
輸出
hello world hello?。鳎铮颍欤?/pre>
doc
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
SpringMVC?@RequestMapping注解屬性詳細介紹
通過@RequestMapping注解可以定義不同的處理器映射規(guī)則,下面這篇文章主要給大家介紹了關于SpringMVC中@RequestMapping注解用法的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-02-02
一文詳細解析Java?8?Stream?API中的flatMap方法
這篇文章主要介紹了Java?8?Stream?API中的flatMap方法的相關資料,flatMap方法是Java?StreamAPI中的重要中間操作,用于將流中的每個元素轉換為一個新的流,并將多個流合并為一個單一的流,常用于處理嵌套集合和一對多映射,需要的朋友可以參考下2024-12-12
mybatis plus動態(tài)數(shù)據(jù)源切換及查詢過程淺析
這篇文章主要介紹了mybatis plus動態(tài)數(shù)據(jù)源切換及查詢過程淺析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12
淺談Java高并發(fā)解決方案以及高負載優(yōu)化方法
這篇文章主要介紹了淺談Java高并發(fā)解決方案以及高負載優(yōu)化方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08

