3G时代就要指日到来了,现在手机的wap上网越来越流行,在手机浏览的时候,我们要进行了unicode编码了之后,手机才能看的汉字的,所以我们要进行编码。
#region private string UnicodeString( string inputString )
/// <summary>
/// 对字符串加入头"&#x"和尾";"
/// </summary>
/// <param name="_Str"></param>
/// <returns></returns>
private static string UnicodeString( string inputString )
{
return "&#x" + inputString + ";";
}
#endregion
#region public static string Encode( string inputString )
/// <summary>
/// Unicode编码
/// </summary>
/// <param name="_CStr">源字符串</param>
/// <returns>目的字符串</returns>
public static string Encode( string inputString )
{
return encode( inputString );
}
private static string encode( string inputString )
{
inputString = inputString.Replace( "&", "&" ).Replace( "#", "#" );
string unicodeString = "";
UnicodeEncoding unicodeEncoding = new UnicodeEncoding();
byte[] bOut = unicodeEncoding.GetBytes( inputString );
for( int i = 0; i < bOut.Length; i++ )
{
string lowChar = bOut[i].ToString("X");
i++;
string highChar = bOut[i].ToString("X");
if ( lowChar.Length == 1 )
{
lowChar = "0" + lowChar;
}
if ( highChar.Length == 1 )
{
highChar ="0" + highChar;
}
//如果不是中文字符(高位为0)则解码,否则加入Unicode头"&#x"和";"
if ( bOut[i] == 0 )
{
unicodeString += Decode( highChar + lowChar );
}
else
{
unicodeString += UnicodeString( highChar + lowChar );
}
}
return unicodeString.Trim();
}
#endregion
#region public static string Decode( string inputString )
/// <summary>
/// Unicode解码
/// </summary>
/// <param name="_UStr">源字符串</param>
/// <returns>目的字符串</returns>
public static string Decode( string inputString )
{
return decode( inputString );
}
private static string decode( string inputString )
{
string decodeString = "";
string tempString = inputString.Replace( ";", "" ).Replace( "&#x", "" );
for( int i = 0; i < tempString.Length; i = i + 4 )
{
int iASCII = int.Parse( tempString.Substring( i, 4 ), System.Globalization.NumberStyles.HexNumber );
decodeString = decodeString + ( char ) iASCII;
}
return decodeString;
}
#endregion