zoukankan      html  css  js  c++  java
  • C#字符串长度

      在ArcGIS属性表中,如果是Shape文件,其他字段名称长度不能超过10个字符(一个汉字算两个字条),如果是在数据库中的文件,其他字符名称长度就可超过10个字符。

      在我的记忆中,中文字符应该算两个字符,实际在C#中,不管中文、英文、全角、半角,其他长度都是相同的。如:

    string s1 = "四川";
    string s2 = "sc";
    Console.WriteLine(s1.Length);
    Console.WriteLine(s2.Length);

      结果:2 ,2(第一个结果不是4)

      那么,现在要判断字段名是否大于10,显然,用string.Length方法不可行。可以使用的方法有:

    方法一:字节计算法

      通过求字符串字节来判断,一个汉字占两个字节,一个字母占一个字节。

    Encoding.Default.GetByteCount(s)>10

    方法二:转换替换法

      将原字符串中的中文用英文替换,再来判断长度。这其中要使用正则表达式。

    s.replace(/[^x00-xff]/g,"**").length

    方法三:ASSIC码法

      通过判断ASSIC来判断是否是汉字,如果是汉字计两个长度,如果不是则计一个长度。

  • 相关阅读:
    记录学生的日常
    el表达式与jstl的用法
    学习心得——袁康凯
    学习心得——刘文瑞
    学习心得——高婕
    学习心得——张坤鹏
    Mysql中文乱码 小强斋
    面试题>字符串匹配 小强斋
    选秀节目打分 小强斋
    面试题>字符串匹配 小强斋
  • 原文地址:https://www.cnblogs.com/liweis/p/4177831.html
Copyright © 2011-2022 走看看