java 全角字符半角字符转换
- /// <summary>
- /// 判断字符是否英文半角字符或标点
- /// </summary>
- /// <remarks>
- /// 32 空格
- /// 33-47 标点
- /// 48-57 0~9
- /// 58-64 标点
- /// 65-90 A~Z
- /// 91-96 标点
- /// 97-122 a~z
- /// 123-126 标点
- /// </remarks>
- public static bool IsBjChar(char c)
- {
- int i = (int)c;
- return i >= 32 && i <= 126;
- }
- /// <summary>
- /// 判断字符是否全角字符或标点
- /// </summary>
- /// <remarks>
- /// <para>全角字符 - 65248 = 半角字符</para>
- /// <para>全角空格例外</para>
- /// </remarks>
- public static bool IsQjChar(char c)
- {
- if (c == '\u3000') return true;
- int i = (int)c - 65248;
- if (i < 32) return false;
- return IsBjChar((char)i);
- }
- /// <summary>
- /// 将字符串中的全角字符转换为半角
- /// </summary>
- public static string ToBj(string s)
- {
- if (s == null || s.Trim() == string.Empty) return s;
- StringBuilder sb = new StringBuilder(s.Length);
- for (int i = 0; i < s.Length; i++)
- {
- if (s[i] == '\u3000')
- sb.Append('\u0020');
- else if (IsQjChar(s[i]))
- sb.Append((char)((int)s[i] - 65248));
- else
- sb.Append(s[i]);
- }
- return sb.ToString();
- }
全角空格为12288,半角空格为32
其他字符半角(33-126)与考试.大提示全角(65281-65374)的对应关系是:均相差65248
- /***************************************
- *
- * 全角转换成半角
- * @param input 原始字符串
- * @return 转换后的字符串
- *
- ***************************************/
- public static String QtoB(String input) {
- char c[] = input.toCharArray();
- for (int i = 0; i < c.length; i++) {
- if (c[i] == '\u3000') {
- c[i] = ' ';
- }?
- else if (c[i] > '\uFF00' && c[i] < '\uFF5F') {
- c[i] = (char) (c[i] - 65248);
- }
- }
- return new String(c);
- }
- //半角转全角
- public static String BtoQ(String input){
- char c[] = input.toCharArray();
- for ( int i=0; i<c.length;i++ ) {
- if (c[i] ==' ') {
- c[i] = '\u3000';
- }
- else if (c[i]<'\177') {
- c[i]= (char) (c[i]+65248);
- }
- }
- return new String(c);
- }
java 全角字符半角字符转换的更多相关文章
- Java全角、半角字符的关系以及转换
如果搞明白了Java中全角字符和半角字符之间的关系,那他们之间的转换就不是个麻烦事儿.你只需要对这个关系有那么一个印象就足够了. 全角字符与半角字符的关系 通过下面的代码能看到Java中所有字符以及对 ...
- java 全角、半角字符串转换
转自:http://www.cnblogs.com/modou/articles/2679815.html 加入了空字符串的验证 半角转全角的方法: /** * @Title: ToSBC * ...
- java全角和半角转换
package test; public class HalfAndFullConverseUtil { /** * ASCII表中可见字符从!开始,偏移位值为33(Decimal) */ priva ...
- c# 字符串中全角和半角字符互转
public class ConvertDBCAndSBC { /// <summary>半角转成全角 /// 半角空格32,全角空格12288 /// 其他字符半角33~126,其他字符 ...
- BCCoventUtils全角与半角互相转换
public class BCConvert { /** * ASCII表中可见字符从!开始,偏移位值为33(Decimal) */ static final char DBC_CHAR_START ...
- sql server 全角与半角字符转换
/****** SQL转换全角/半角函数 开始******/CREATE FUNCTION ConvertWordAngle ( @str NVARCHAR(4000), --要转换的字符串 @f ...
- sql server 2005全角与半角字符转换
CREATE FUNCTION D_ByteExchangeS_Byte(@str NVARCHAR(4000), --要转换的字符串@flag bit --转换标志,0转换 ...
- qlserver排序规则在全角与半角处理中的应用
--1.查询区分全角与半角字符--测试数据DECLARE @t TABLE(col varchar(10))INSERT @t SELECT 'aa'UNION ALL SELECT 'Aa'UNIO ...
- 刨根究底字符编码之五——简体汉字编码方案(GB2312、GBK、GB18030、GB13000)以及全角、半角、CJK
简体汉字编码方案(GB2312.GBK.GB18030.GB13000)以及全角.半角.CJK 一.概述 1. 英文字母再加一些其他标点字符之类的也不会超过256个,用一个字节来表示一个字符就足够 ...
- c# 中文字符(全角、半角)通用处理
声明:本文仅提供一种编程思路,所提供代码仅供参考,如需使用,请自行完善. 我们在做程序的的时候经常要处理用户输入,作为我们的主要语言中文,经常会出现全角.半角的问题,这会在查询时给我们带来很多麻烦.本 ...
随机推荐
- javaee后台适合用的编辑器插件
http://pan.baidu.com/s/1bn7D9sr 这个适合用在后台
- windows 8.1 administrator相关设置
一.windows 8.1 开启administrator用户 windows8.1中文版,由于默认不开启administrator用户,所以需要自己手动开启 启用administrator:在cmd ...
- EXPDP IMPDP 知识总结
Data Pump Export ATTACH Default: job currently in the user's schema, if there is only one Purpose(目的 ...
- iOS开发中常用的宏
前言 今天将一些简化工程代码的宏定义拿出来分享一下,自定义一些宏可以有效的简化代码,提高编码效率. Application #define APPLICATION [UIApplication sha ...
- WebService笔记-Schema约束
Schema约束 俗话说得好 好记性不如烂笔头. 看了下WebService视频,觉得还是得下笔记. 观看的视频地址:http://edu.51cto.com/ ...
- NOI 193棋盘分割.cpp
193:棋盘分割 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 将一个8*8的棋盘进行如下分割:将原棋盘割下一块矩形棋盘并使剩下部分也是矩形,再将剩下的部分 ...
- 用BroadcastReceiver监听网络状态的变化
在用户浏览网络信息时,如果网络突然断开,可以及时的提醒用户网络已断开.要实现这个功能,我们可以实现一个广播接收者来接收网络状态改变的广播,当由连接状态变为断开状态时,系统会发送一条广播,广播接收者接收 ...
- jquery 操纵 cookies 插件(1)
当你浏览某网站时,你硬盘上会生产一个非常小的文本文件,它可以记录你的用户ID.密码.浏览过的网页.停留的时间等信息. 当你再次来到该网站时,网站通过读取Cookies,得知你的相关信息,就可以做出相应 ...
- 关于Python文档读取UTF-8编码文件问题
近来接到一个小项目,读取目标文件中每一行url,并逐个请求url,拿到想要的数据. #-*- coding:utf-8 -*- class IpUrlManager(object): def __in ...
- 探究Android SQLite3多线程
最近做项目时在多线程读写数据库时抛出了异常,这自然是我对SQlite3有理解不到位的地方,所以事后仔细探究了一番. 关于getWriteableDataBase()和getReadableDataba ...