zoukankan      html  css  js  c++  java
  • C# 全角转半角

    A 什么是全角和半角?
    (1)全角--指一个字符占用两个标准字符位置。
    汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。一般的系统命令是不用全角字符的

    ,只是在作文字处理时才会使用全角字符。

    (2)半角--指一字符占用一个标准的字符位置。
    通常的英文字母、数字键、符号键都是半角的,半角的显示内码都是一个字节。在系统内部,以上三种字符是作为基本代码处

    理的,所以用户输入命令和参数时一般都使用半角。

    B 全角与半角各在什么情况下使用?
    全角占两个字节,半角占一个字节。
    半角全角主要是针对标点符号来说的,全角标点占两个字节,半角占一个字节,而不管是半角还是全角,汉字都还是要占两个

    字节。
    在编程序的源代码中只能使用半角标点(不包括字符串内部的数据)
    在不支持汉字等语言的计算机上只能使用半角标点(其实这种情况根本就不存在半角全角的概念)

    对于大多数字体来说,全角看起来比半角大,当然这不是本质区别了。

    C 全角和半角的区别
    全角就是字母和数字等与汉字占等宽位置的字。半角就是ASCII方式的字符,在没有汉字输入法起做用的时候输入的字母数字和

    字符都是半角的。

    在汉字输入法出现的时候,输入的字母数字默认为半角,但是标点则是默认为全角,可以通过鼠标点击输入法工具条上的相应

    按钮来改变。

    D 关于“全角”和“半角”:
    全角:是指中GB2312-80(《信息交换用汉字编码字符集·基本集》)中的各种符号。
    半角:是指英文件ASCII码中的各种符号。

         /**//// <summary>
    /// 转全角的函数(SBC case)
    /// </summary>
    /// <param name="input">任意字符串</param>
    /// <returns>全角字符串</returns>
    ///<remarks>
    ///全角空格为12288,半角空格为32
    ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
    ///</remarks>
    public string ToSBC(string input)
    {
    //半角转全角:
    char[] c=input.ToCharArray();
    for (int i = 0; i < c.Length; i++)
    {
    if (c[i]==32)
    {
    c[i]
    =(char)12288;
    continue;
    }
    if (c[i]<127)
    c[i]
    =(char)(c[i]+65248);
    }
    return new string(c);
    }

    /**//// <summary>
    /// 转半角的函数(DBC case)
    /// </summary>
    /// <param name="input">任意字符串</param>
    /// <returns>半角字符串</returns>
    ///<remarks>
    ///全角空格为12288,半角空格为32
    ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
    ///</remarks>
    public string ToDBC(string input)
    {
    char[] c=input.ToCharArray();
    for (int i = 0; i < c.Length; i++)
    {
    if (c[i]==12288)
    {
    c[i]
    = (char)32;
    continue;
    }
    if (c[i]>65280 && c[i]<65375)
    c[i]
    =(char)(c[i]-65248);
    }
    return new string(c);
    }

    源:http://wlgwly.blog.163.com/blog/static/14088024120111921827840/



    返回导读目录,阅读更多随笔



    分割线,以下为博客签名:

    软件臭虫情未了
    • 编码一分钟
    • 测试十年功


    随笔如有错误或不恰当之处、为希望不误导他人,望大侠们给予批评指正。

  • 相关阅读:
    mysql慢查询
    linux查找文件
    ss安装教程
    node_module删除
    api的错误代码设计
    es6的Promise
    vue后台项目
    vue的main.js
    vue的过渡效果
    【Linux网络基础】网络拓扑、OSI层次模型、TCP/IP协议簇
  • 原文地址:https://www.cnblogs.com/08shiyan/p/2147351.html
Copyright © 2011-2022 走看看