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来判断是否是汉字,如果是汉字计两个长度,如果不是则计一个长度。

  • 相关阅读:
    119. Pascal's Triangle II
    118. Pascal's Triangle
    112. Path Sum
    111. Minimum Depth of Binary Tree
    110. Balanced Binary Tree
    108. Convert Sorted Array to Binary Search Tree
    88. Merge Sorted Array
    83. Remove Duplicates from Sorted List
    70. Climbing Stairs
    陌陌面试经历
  • 原文地址:https://www.cnblogs.com/liweis/p/4177831.html
Copyright © 2011-2022 走看看