程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> csharp: Converting chinese character to Unicode,csharpconverting

csharp: Converting chinese character to Unicode,csharpconverting

編輯:C#入門知識

csharp: Converting chinese character to Unicode,csharpconverting


Function chinese2unicode(Str)
    Dim Str_one:Str_one = ""
    Dim Str_unicode:Str_unicode = ""
    For i  = 1 To Len(Str)
        Str_one = Mid(Str, i, 1)
        If AscW(Str_one) < 0 or AscW(Str_one) > 255 Then
            Str_unicode = Str_unicode & Chr(38)
            Str_unicode = Str_unicode & Chr(35)
            Str_unicode = Str_unicode & Chr(120)
            Str_unicode = Str_unicode & Hex(AscW(Str_one))
            Str_unicode = Str_unicode & Chr(59)
        Else
            Str_unicode = Str_unicode & Str_one
        End If
    Next
    chinese2unicode=Str_unicode
End Function

 

 /// <summary>
        /// %26%23x4EB2%3B%26%23x7231%3B%26%23x7684%3B%26%23x4F1A%3B%26%23x5458%3BTeresaLiu%2C%26%23x516D%3B%26%23x798F%3B%26%23x73E0%3B%26%23x5BF6%3B%26%23x6703%3B%26%23x54E1%3B%26%23x5BC6%3B%26%23x78BC%3B%26%23x4FEE%3B%26%23x6539%3B%26%23x9805%3B%26%23x901A%3B%26%23x77E5%3B%26%23xFF1A%3B%26%23x95A3%3B%26%23x4E0B%3B%26%23x5DF2%3B%26%23x6210%3B%26%23x529F%3B%26%23x66F4%3B%26%23x6539%3B%26%23x5BC6%3B%26%23x78BC%3B%26%23xFF0C%3B%26%23x5982%3B%26%23x6709%3B%26%23x67E5%3B%26%23x8A62%3B%26%23xFF0C%3B%26%23x8ACB%3B%26%23x81F4%3B%26%23x96FB%3B%26%23x9999%3B%26%23x6E2F%3B27109368%26%23xFF0F%3B%26%23x4E2D%3B%26%23x570B%3B4008846222
        ///塗聚文 20140724
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        private string chinese2uncode(string str)
        {
            string s = "";
            string outStr = "";
            if (!string.IsNullOrEmpty(str))
            {
                for (int i = 0; i < str.Length; i++)
                {
                    if (Microsoft.VisualBasic.Strings.AscW(str[i].ToString()) < 0 || Microsoft.VisualBasic.Strings.AscW(str[i].ToString())>255) //如果是中文轉換Regex.IsMatch(str[i].ToString(), @"[\u4e00-\u9fa5]")
                    { 
                        //outStr += "\\u" + ((int)str[i]).ToString("x"); 
                        outStr = outStr+(char)38;// "&";//char(38);
                        outStr = outStr + (char)35;// "#";
                        outStr = outStr + (char)120;// "x";
                        outStr = outStr + Microsoft.VisualBasic.Conversion.Hex(Microsoft.VisualBasic.Strings.AscW(str[i].ToString())); //outStr + 
                        outStr = outStr + (char)59;// ";";
            //Str_unicode = Str_unicode & Chr(38)
            //Str_unicode = Str_unicode & Chr(35)
            //Str_unicode = Str_unicode & Chr(120)
            //Str_unicode = Str_unicode & Hex(AscW(Str_one))
                        //Str_unicode = Str_unicode & Chr(59)// ;
                        

                    }
                    else 
                    { 
                        outStr += str[i]; 
                    }

                }
            }
            s = outStr;
            return s;
        }

c# unicode轉漢字的問題

string newcontent = Encoding.Unicode.GetString(newa);

加個斷點,這一句中newa的值多少?
 

C#unicode編碼轉換成ansi怎不出亂碼

下面的例子可以實現Unicode和Ansi之間的轉換:
using System.IO;
using System.Text;

// convert DBCS-932 encoded file to unicode-file
Encoding ecp932 = Encoding.GetEncoding( 932 );
StreamReader sr = new StreamReader( @"C:\cp932.txt", ecp932, false );
StreamWriter sw = new StreamWriter( @"C:\unicode.txt", false,
Encoding.Unicode );
sw.Write( sr.ReadToEnd() );
sw.Close();
sr.Close();

// convert unicode-file to ANSI text file
Encoding ecp1252 = Encoding.GetEncoding( 1252 );
sr = new StreamReader( @"C:\unicode.txt", Encoding.Unicode, false );
sw = new StreamWriter( @"C:\cp1252.txt", false, ecp1252 );
sw.Write( sr.ReadToEnd() );
sw.Close();
sr.Close();

參考 msdn
support.microsoft.com/kb/138813
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved