天天看點

轉全角半角互相轉換(C#,VB.NET)

C#

轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)

         /// <summary>

轉全角半角互相轉換(C#,VB.NET)

        /// 轉全角的函數(SBC case)

轉全角半角互相轉換(C#,VB.NET)

        /// </summary>

轉全角半角互相轉換(C#,VB.NET)

        /// <param name="input">任意字元串</param>

轉全角半角互相轉換(C#,VB.NET)

        /// <returns>全角字元串</returns>

轉全角半角互相轉換(C#,VB.NET)

        ///<remarks>

轉全角半角互相轉換(C#,VB.NET)

        ///全角空格為12288,半角空格為32

轉全角半角互相轉換(C#,VB.NET)

        ///其他字元半角(33-126)與全角(65281-65374)的對應關系是:均相差65248

轉全角半角互相轉換(C#,VB.NET)

        ///</remarks>        

轉全角半角互相轉換(C#,VB.NET)

         public   string  ToSBC( string  input)

轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)

{

轉全角半角互相轉換(C#,VB.NET)

            //半角轉全角:

轉全角半角互相轉換(C#,VB.NET)

            char[] c=input.ToCharArray();

轉全角半角互相轉換(C#,VB.NET)

            for (int i = 0; i < c.Length; i++)

轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)

{

轉全角半角互相轉換(C#,VB.NET)

                if (c[i]==32)

轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)

{

轉全角半角互相轉換(C#,VB.NET)

                    c[i]=(char)12288;

轉全角半角互相轉換(C#,VB.NET)

                    continue;

轉全角半角互相轉換(C#,VB.NET)

                }

轉全角半角互相轉換(C#,VB.NET)

                if (c[i]<127)

轉全角半角互相轉換(C#,VB.NET)

                    c[i]=(char)(c[i]+65248);

轉全角半角互相轉換(C#,VB.NET)

            }

轉全角半角互相轉換(C#,VB.NET)

            return new string(c);                

轉全角半角互相轉換(C#,VB.NET)

        }

轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)

         /// <summary>

轉全角半角互相轉換(C#,VB.NET)

        /// 轉半角的函數(DBC case)

轉全角半角互相轉換(C#,VB.NET)

        /// </summary>

轉全角半角互相轉換(C#,VB.NET)

        /// <param name="input">任意字元串</param>

轉全角半角互相轉換(C#,VB.NET)

        /// <returns>半角字元串</returns>

轉全角半角互相轉換(C#,VB.NET)

        ///<remarks>

轉全角半角互相轉換(C#,VB.NET)

        ///全角空格為12288,半角空格為32

轉全角半角互相轉換(C#,VB.NET)

        ///其他字元半角(33-126)與全角(65281-65374)的對應關系是:均相差65248

轉全角半角互相轉換(C#,VB.NET)

        ///</remarks>

轉全角半角互相轉換(C#,VB.NET)

         public   string  ToDBC( string  input)

轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)

{    

轉全角半角互相轉換(C#,VB.NET)

            char[] c=input.ToCharArray();

轉全角半角互相轉換(C#,VB.NET)

            for (int i = 0; i < c.Length; i++)

轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)

{

轉全角半角互相轉換(C#,VB.NET)

                if (c[i]==12288)

轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)

{

轉全角半角互相轉換(C#,VB.NET)

                    c[i]= (char)32;

轉全角半角互相轉換(C#,VB.NET)

                    continue;

轉全角半角互相轉換(C#,VB.NET)

                }

轉全角半角互相轉換(C#,VB.NET)

                if (c[i]>65280 && c[i]<65375)

轉全角半角互相轉換(C#,VB.NET)

                    c[i]=(char)(c[i]-65248);

轉全角半角互相轉換(C#,VB.NET)

            }    

轉全角半角互相轉換(C#,VB.NET)

            return new string(c);

轉全角半角互相轉換(C#,VB.NET)

        }

轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)

VB版本:

轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)

    Public Function ToSBC()Function ToSBC(ByVal input As String) As String '轉全角

轉全角半角互相轉換(C#,VB.NET)

        Dim c As Char() = input.ToCharArray

轉全角半角互相轉換(C#,VB.NET)

        Dim i As Integer = 0

轉全角半角互相轉換(C#,VB.NET)

        While i < c.Length

轉全角半角互相轉換(C#,VB.NET)

            If c(i) = ChrW(32) Then

轉全角半角互相轉換(C#,VB.NET)

                c(i) = ChrW(12288)

轉全角半角互相轉換(C#,VB.NET)

            ElseIf AscW(c(i)) < 127 Then

轉全角半角互相轉換(C#,VB.NET)

                c(i) = ChrW((AscW(c(i)) + 65248))

轉全角半角互相轉換(C#,VB.NET)

            End If

轉全角半角互相轉換(C#,VB.NET)

            System.Math.Min(System.Threading.Interlocked.Increment(i), i - 1)

轉全角半角互相轉換(C#,VB.NET)

        End While

轉全角半角互相轉換(C#,VB.NET)

        Return New String(c)

轉全角半角互相轉換(C#,VB.NET)

    End Function

轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)

    Public Function ToDBC()Function ToDBC(ByVal input As String) As String '轉半角

轉全角半角互相轉換(C#,VB.NET)
轉全角半角互相轉換(C#,VB.NET)

        Dim c As Char() = input.ToCharArray

轉全角半角互相轉換(C#,VB.NET)

        Dim i As Integer = 0

轉全角半角互相轉換(C#,VB.NET)

        While i < c.Length

轉全角半角互相轉換(C#,VB.NET)

            If AscW(c(i)) = 12288 Then

轉全角半角互相轉換(C#,VB.NET)

                c(i) = ChrW(32)

轉全角半角互相轉換(C#,VB.NET)

            ElseIf AscW(c(i)) > 65280 AndAlso AscW(c(i)) < 65375 Then

轉全角半角互相轉換(C#,VB.NET)

                c(i) = ChrW(AscW(c(i)) - 65248)

轉全角半角互相轉換(C#,VB.NET)

            End If

轉全角半角互相轉換(C#,VB.NET)

            System.Math.Min(System.Threading.Interlocked.Increment(i), i - 1)

轉全角半角互相轉換(C#,VB.NET)

        End While

轉全角半角互相轉換(C#,VB.NET)

        Return New String(c)

轉全角半角互相轉換(C#,VB.NET)

    End Function

繼續閱讀