如果搞明白了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);

}

C语言中的半角字符,java全角、半角字符的关系以及转换详解相关推荐

  1. java 全角_java字符全角半角转换

    序 本文展示一下如何将char进行半角与全角转换. 术语 全角 SBC case Sexagesimal to Binary Converter 60进制转为2进制 半角 DBC case Decim ...

  2. 我的Android进阶之旅------gt;Java全角半角的转换方法

    一中文全角和半角输入的区别 1全角指一个字符占用两个标准字符位置 2半角指一字符占用一个标准的字符位置 3全角与半角各在什么情况下使用 4全角和半角的区别 5关于全角和半角 6全角与半角比较 二转半角 ...

  3. Java全角半角的转换

    一.中文全角和半角输入的区别 在计算机屏幕上,一个汉字要占两个英文字符的位置,人们把一个英文字符所占的位置称为"半角",相对地把一个汉字所占的位置称为"全角". ...

  4. java全角半角标点符号转换

    早上发现某个群居然爆出一个bug,上游系统存储的客户简称是商务人员自己填的,这个字段支持用户录入各种字符.但是下游对接的其他系统,在将这个字段应用到系统中的时候,不能支持全角的标点符号,如果这个字段有 ...

  5. java全角半角间的转换

    方案一: /** * 全角转半角 符号,数字,字母 高位为-1,低位全角比半角少32H. 将字母a-z,A-Z,0-9之外的符号转换成为半        *角. *  * @param SBCStri ...

  6. Java 全角半角转换工具类

    /*** @author: lee* @Date: 2018/11/29 09:56* @Description: 全角半角转换工具类*/ public class AsciiUtil {public ...

  7. java 全角_java全角、半角字符的关系以及转换详解

    如果搞明白了Java中全角字符和半角字符之间的关系 那他们之间的转换根本就不是个事. 全角字符与半角字符的关系 可以通过下面的程序看看Java中所有字符以及对应编码的值 public static v ...

  8. java 全角半角_java操作字符,java全角转半角

    原来在页面用fckediter编辑信息,为了信息美观,信息提交时需要对信息内容进行全角到半角的转换, 有时候如果信息两太大的话处理非常慢,怀疑是js处理太慢了, 有个想法,在java里面处理信息内容, ...

  9. java+设置半角_Java处理全角半角问题

    import java.io.UnsupportedEncodingException; import org.apache.axis.utils.StringUtils; /** * * Class ...

  10. java中的装饰模式讲解,java 中设计模式(装饰设计模式)的实例详解

    搜索热词 java 中设计模式(装饰设计模式)的实例详解 应用场景: 在不对原有对象类进行修改的基础上,给一个或多个已有的类对象提供增强额外的功能. 我觉得可以从字面理解,装饰,装饰房子.房子可以看成 ...

最新文章

  1. HtmlAgilityPack 处理通配的contains
  2. 【Java面试题】37 说出ArrayList,Vector, LinkedList的存储性能和特性
  3. 最小二乘法MSE 梯度下降法
  4. 机器学习模拟1亿原子:中美团队获2020「超算诺贝尔奖」戈登贝尔奖
  5. linux安装深度软件商店,Deepin系统中的深度商店V5.1发布,基于Debian的Linux可安装...
  6. x = x (x-1)
  7. 数据库分页和使用jstl标签替换分页的jsp代码
  8. 学习笔记(26):Python网络编程并发编程-GIL与自定义互斥锁的区别
  9. HDU - 5438 Ponds 拓扑 dfs
  10. java去掉重复字符_Java实现去掉字符串重复字母的方法示例
  11. php while 语录,PHP While 循环
  12. cept源代码目录结构详解_知识树(转)
  13. [delphi]窗口最大化时怎么才能不要把任务栏盖住
  14. 电脑分辨率设置工具_打印不求人:我猜你并不会设置“分辨率”!
  15. 第6章:可维护性软件构建方法 6.1可维护性的度量和构造原则
  16. Atitit 人脸识别 眼睛形态 attilax总结
  17. 555 定时器的 3 种用法判断和解释
  18. Jenkins 页面不刷新最新修改配置,需要强制刷新才可以,Request Status Code:200 OK (from disk cache)
  19. 局域网联机_七日杀v17.2(B27)版/支持局域网联机/多项修改器/初始存档/局域网联机教程...
  20. Android 手机获取Mac地址的方法

热门文章

  1. 不上网电脑安装python_离线安装python第三方库的实用方法:解决公司内网,服务器/电脑不能上网却需要安装python三方库问题(上:Windows环境中)...
  2. java商城加入购物车接口实现_商城系统购物车功能分析实现
  3. 当SaaS遇上私域流量,小牛叮当如何做好B端服务?
  4. windows无法自动修复此计算机鼠标,win10 2.4g无线鼠标驱动异常怎么修复_win10 2.4g无线鼠标驱动出错处理方法...
  5. 拓嘉辰丰:拼多多店铺DSR动态评分的更新周期?
  6. 1.2GHz Atom处理器 诺基亚N9配置曝光
  7. Java语言,基于TCP编写一个简单的Client/Server 网络应用程序。
  8. 百度统计、谷歌统计原理以及自定义统计源码
  9. Java根据模板生成PDF文件|添加盖章|添加水印
  10. 移动端页面SEO优化需要注意的10个要点