精华内容
下载资源
问答
  • 主要介绍了c#如何转换全角半角,大家可以一下下面的代码方法,可以参考一下
  • 这篇文章主要介绍了c#如何转换全角半角,大家可以一下下面的代码方法,可以参考一下 C#全角转换成半角 新建一个项目quanbanjiao,在此项目下新建一个类Class1 复制代码代码如下: using ...
    这篇文章主要介绍了c#如何转换全角半角,大家可以看一下下面的代码方法,可以参考一下

    C#全角转换成半角

    新建一个项目quanbanjiao,在此项目下新建一个类Class1

    复制代码代码如下:

    using System;
    using System.Web;
    using System.Text;

    namespace quanbanjiao
    {
        public class Class1
        {
            /**/
            /// <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 type,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]);
                }

                //如果是int类型的,则只能输入int类型,否则自动设为0

                if (type.ToLower() == "int")
                {
                    try
                    {
                        Convert.ToInt32(sb.ToString());
                    }
                    catch
                    {
                        return "0";
                    }

                }

     

                //如果是float或double类型的,则只能输入这两种类型,否则自动设为0
                if (type.ToLower() == "float" || type.ToLower() == "double")
                {
                    try
                    {
                        Convert.ToDouble(sb.ToString());
                    }
                    catch
                    {
                        return "0";
                    }
                }
                return sb.ToString();
            }
        }
    }

    展开全文
  • 前言本文将给大家展示一下如何将char进行半角全角转换,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。术语全角SBC caseSexagesimal to Binary Converter60进制转为2进制半角DBC caseDecimal ...

    前言

    本文将给大家展示一下如何将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 world

    doc

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

    展开全文
  • 关于unicode最易懂的解释(没有之一),建议耐心完:学点编码知识又不会死:Unicode的流言终结者和编码大揭秘 http://www.freebuf.com/articles/others-articles/25623.html如果不想完,只需记住要点:1....
    关于unicode最易懂的解释(没有之一),建议耐心看完:

    学点编码知识又不会死:Unicode的流言终结者和编码大揭秘

    如果不想看完,只需记住要点:
    1. unicode表明了字符与数字之间的映射,是可变长的。理论上每种语言中的每种字符都被Unicode协会指定了一个神奇数字。但它不管编码
    2. 映射后的数如何编码为字节?这个就是具体的编码规则:目前最主流的是UTF-8,同样,它也是变字长的。

    python3中的str都是unicode的:“The default encoding for Python source code is UTF-8”,见"https://docs.python.org/3/howto/unicode.html"
    python3中的encode:按照encode()括号中的参数对字符串进行编码,就是生成bytes。
    所以:
    In:'中文'.encode('utf-8')
    Out:b'\xe4\xb8\xad\xe6\x96\x87'
    这里的b就是Byte,\x表示这个x是被转义的,意思就是0x。又如:
    In: 'abc'.encode('utf-8')
    Out: b'abc'
    上面的b'a'其实表示的是数字97,b'a'的意思就是字符串'a'的binary数字:
    [In]:'abc'.encode('utf-8')[0]
    [Out]: 97
    同时可以把b'\x'进行解码,即:
    In:b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
    Out:'中文'
    除了encode('utf-8')外,用ord可以获得单个utf-8字符对应的数字:
    In [60]: ord('a')
    Out[60]: 97
    In [61]: ord('a')   #这个是全角的a
    Out[61]: 65345
    除了decode('utf-8')外,用chr可以获得数字对应的utf-8字符:
    In [62]: chr(97)
    Out[62]: 'a'

    除了unicode还有别的编码标准吗?有啊,比如我国的GBK,别名也叫cp936。最全的编码标准在这里:https://docs.python.org/3/library/codecs.html#standard-encodings。

    全角和半角之分,是指同样一个意义的字符,显示的大小不同.具体来说,全角和半角的编码是两个结果:
    In [70]: "mn".encode('utf-8')
    Out[70]: b'\xef\xbd\x8d\xef\xbd\x8e
    [In]:"mn".encode('utf-8')
    [Out]:b'mn'

    它们有什么对应关系呢?(引自这里)

    转换说明

    全角半角转换说明

    有规律(不含空格):

    全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E)
    半角字符unicode编码从33~126 (十六进制 0x21~ 0x7E)

    特例:
    空格比较特殊,全角为 12288(0x3000),半角为 32(0x20)

    除空格外,全角/半角按unicode编码排序在顺序上是对应的(半角 + 0x7e= 全角),所以可以直接通过用+-法来处理非空格数据,对空格单独处理。

    代码在基础上改动一下(将unichr改为chr即可,适应python3),即:

    def strQ2B(ustring):
         """全角转半角"""
         rstring = ""
         for uchar in ustring:
         inside_code=ord(uchar)
         if inside_code == 12288:    #全角空格直接转换            
             inside_code = 32
         elif (inside_code >= 65281 and inside_code <= 65374): #全角字符(除空格)根据关系转化
             inside_code -= 65248
             rstring += chr(inside_code)
         return rstring


    In [69]: strQ2B('你好python')
    Out[69]: '你好python'
    展开全文
  • 全角:是指中GB2312-80(《信息交换用汉字编码字符集·基本集》)中的各种符号。 半角:是指英文件ASCII码中的...现在我们来一下在java编程语言中如何来判断字符串中的全角半角符号? 有两种方式可以判断:  ...

    全角:是指中GB2312-80(《信息交换用汉字编码字符集·基本集》)中的各种符号。

    半角:是指英文件ASCII码中的各种符号。

    全角状态下字母、数字符号等都会占两个字节的位置,也就是一个汉字那么宽,半角状态下,字母数字符号一般会占一个字节,也就是半个汉字的位置,全角半角对汉字没有影响。

    现在我们来看一下在java编程语言中如何来判断字符串中的全角半角符号?

    有两种方式可以判断:

       1: 通过正则表达式来进行判断  [^\\x00-\\xff]

       2: 通过字符编码的范围进行判断.

           有关字符编码的范围介绍如下:(ps:我们可以编写一个测试用例输出所有的字符编码来确定范围

    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)

    使用正则表达式进行判断

    public static void main(String[] args) {
            // 纯半角,包含有数字,字母,特殊符号,空格,汉字
            String test = "0123456789abcde!@#$%^& 你好";
            char[] chars_test = test.toCharArray();
            for (int i = 0; i < chars_test.length; i++) {
                String temp = String.valueOf(chars_test[i]);
                // 判断是全角字符
                if (temp.matches("[^\\x00-\\xff]")) {
                    System.out.println("全角   " + temp);
                }
                // 判断是半角字符
                else {
                    System.out.println("半角    " + temp);
                }
            }
        }

    这里介绍下如果不想要字符串中的汉字的话,可以使用正则表达式将之去除:  [\u4e00-\u9fa5]

     @Test
        public void testChinese() {
            String ss = "qwen你ra是sd谁f";
            System.out.println(ss.replaceAll("[\u4e00-\u9fa5]", ""));
        }

    或者是截取出字符串中的汉字

    @Test
        public void testGetChinese() {
            String s = "qwen你ra是sd谁f";
            char[] chars_ss = s.toCharArray();
            String test = "";
            for (int i = 0; i < chars_ss.length; i++) {
                String temp = String.valueOf(chars_ss[i]);
                // 判断是汉字
                if (temp.matches("[\u4e00-\u9fa5]")) {
                    test += temp;
                }
            }
            System.out.println(test);
        }

    使用字符的unicode码进行判断 

    @Test
        public void testUnicode(){
            // 纯半角,包含有数字,字母,特殊符号,空格,汉字
            String test = "0123456789abcde!@#$%^& 你好";
            // 首先将汉字用空格替换掉
            test = test.replaceAll("[\u4e00-\u9fa5]", "");
            char[] chars_test = test.toCharArray();
            for (int i = 0; i < chars_test.length; i++) {
                int charValue = (int) chars_test[i];
                // 判断是全角字符
                if (charValue >= 65281 && charValue <= 65374 || charValue == 12288) {
                    System.out.println("全角  " + (char) charValue);
                }
                // 判断是半角字符
                else if (charValue >= 33 && charValue <= 126 || charValue == 32) {
                    System.out.println("半角  " + (char) charValue);
                }
            }
        }

     

    展开全文
  • SQL 全角半角转换

    2019-10-06 21:46:44
    数据库系统中,经常有些用户在输入数据的时候会不小用使用全角输入,这就有可能会导致我们的程序出错,如何解决此类问题了. 首先我们来一个测试代码: selectcast('111'asint)asnum1selectcast('111'asint)as...
  • 起来就是这样的: 半角:a,b.c;d 全角:a,b。c;d 因此大家看到无论是字母还是符号全角都是占一个汉字的大小。 什么情况需要切换英文半角&全角: 一般当我们使用英文输入法的时候,输入的自然就全都是...
  • Word批量删除空格(全角空格、半角空格、不间断空格、制表符空格)的技巧从网页中复制过来的文字中会有许多的空段和空格,在Word中排版时也需要清除。那么为什么这一步要删除空格,而不是先删除空段呢?道理是:有些...
  • 由于公司福利库在进行物资统计时主要是物资编号,所以经常需要对物资编号进行排序,但如果用户使用的是全角输入的话,虽然编号看着一样,但全角输入的编号就会被排在后面,因此,我通过学习、查询资料,使用下面的...
  • 我们常用的人民币符号,有两个:¥¥(如果你不出区别,不要怀疑我打错了,因为二者区别确实不大),前者是全角元,后者是半角元。
  • 现在越来越多的工作都是需要以表格或者文档形式来提交,那么对于不经常用Excel、Office等的小白们来说,是一...1、Office常用快捷键:ctrl+空格:打开输入法sgift+空格:切换全角半角.ctrl+shift:切换输入法。ctrl+...
  • 英文论文格式要求.doc

    2021-01-19 11:42:12
    其实无论是学术期刊投稿,还是其他生活类,时尚类等通俗期刊投稿,整齐的稿件格式,专业的排版,全角半角选择正确,没有词汇语法错误,都会让编辑们有赏心悦目的感觉,忍不住要多一眼您的*。编辑也是人啊,不要把...
  • WEB界面测试用例~

    2012-02-13 12:41:36
    输入框校验 1.字符串长度检查: 输入超出需求所说明的字符串长度的内容, 系统是否检查字符串长度。(256) ...4.输入法半角全角检查:在输入信息项中,输入半角全角的信息,查看系统如何处理。如
  • WEB界面测试用例~ 收藏 输入框校验1.字符串长度检查: 输入超出需求所说明的字符串长度的内容, 系统是否检查字符串长度。...4.输入法半角全角检查:在输入信息项中,输入半角全角的信息,查看系统...
  • 三种空格unicode

    2020-08-19 09:28:25
    1.不间断空格\u00A0,主要用在office中,让一个单词在结尾处不会换行显示,快捷键ctrl+shift+space ; 2.半角空格(英文符号)\u0020,代码中...如何看字符串中的空格是哪一种,可以通过debug看其ascii码区分,然后做处理 ...
  • 搜索功能测试

    2021-02-23 14:00:18
    输入半角全角空格、特殊字符查看搜索结果 之前的查询条件是否会自动清空,搜索结果是否为被清空。 复制一篇文章进搜索框 查看分页是否正确 在输入结束后直接按回车键,系统处理如何,会否报错 组合测试 一项一项...
  • 输入数字或字母间隙变大

    千次阅读 2019-02-22 16:20:43
    可使用 Shift+空格键 切换回,如果未解决,请找到你的输入法,看看上面有没有圆形的图案,如果有的话,点击圆形图案改成半月型图案,把全角模式(一个字符占用两个标准字符位置)改为半角模式(一字符占用一个标准的...
  • 关于wiki的维护

    2020-11-23 02:09:46
    还有半角全角的配置 - 小狼毫五笔的配置 虽然,这些网上也有一些说明,但都比较零散,问到别人又不好意思。 我想把我查到的都整理在一起。或者可能有些别人已经整理好了我还没有找到。信息来源...
  • states: [ 半角, 全角 ] # 而全/半角則可沿用之前方案中的用法。 - name: simplification reset: 1 # 增加這一行:默認啓用「繁→簡」轉換。 states: [ 漢字, 汉字 ] </code></pre> 當我第一次...
  • 实例058 半壁江山——全角字符转换为半角 92 实例059 疱丁解牛——分析路径字符串函数总结 93 实例060 粉身碎骨——将字符串转为字符数组 95 实例061 万佛朝宗——将字符数组写入到字符串 96 实例062 类型推断——...
  • 实例058 半壁江山——全角字符转换为半角 92 实例059 疱丁解牛——分析路径字符串函数总结 93 实例060 粉身碎骨——将字符串转为字符数组 95 实例061 万佛朝宗——将字符数组写入到字符串 96 实例062 类型推断——...
  • 实例058 半壁江山——全角字符转换为半角 92 实例059 疱丁解牛——分析路径字符串函数总结 93 实例060 粉身碎骨——将字符串转为字符数组 95 实例061 万佛朝宗——将字符数组写入到字符串 96 实例062 类型推断——...
  • * 半角转为全角 */ public String ToSBC(String input) { char[] c = input.toCharArray(); for (int i = 0; i ; i++) { if (c[i] == 32) { c[i] = (char) 12288; continue; } if (c[i] ) { c...
  • 数学公式(包括文中混排的公式)和英文代码,使用英文半角的标点符号,如:(),.?… 关于注释 注释统一用中文 尽量统一用"//",一般不用"/*...*/" 关于命名 类名为大写字母开头的单词组合 函数名比较长,由多...

空空如也

空空如也

1 2
收藏数 28
精华内容 11
关键字:

如何看全角半角