全型半型轉換

全型半型轉換

方法一:


VbStrConv.Narrow :全形轉半形
VbStrConv.Wide:半形轉全形



value = Microsoft.VisualBasic.Strings.StrConv(oriString, Microsoft.VisualBasic.VbStrConv.Narrow, 0);

方法二:

 


        {
            string value = string.Empty;
            Byte[] byteValue = System.Text.Encoding.Unicode.GetBytes(oriString);
            for (int i = 1; i < byteValue.Length; i += 2)
            {
                if (transType == 0)
                {
                    if (byteValue[i] == 0)
                    {
                        byteValue[i - 1] -= 32;
                        byteValue[i] = 255;
                        value += System.Text.Encoding.UTF8.GetString(new byte[] { byteValue[i - 1], byteValue[i] });
                    }
                    else
                        value += oriString[(i + 1) / 2 - 1];
                }
                else if (transType == 1)
                {

                    if (byteValue[i] == 255)
                    {
                        byteValue[i - 1] += 32;
                        byteValue[i] = 0;
                        value += System.Text.Encoding.UTF8.GetString(new byte[] { byteValue[i - 1], byteValue[i] });
                    }
                    else
                        value += oriString[(i + 1) / 2 - 1];
                }
            }
            if (transType != 0 && transType != 1)
                value = oriString;

            return value;
        }