在JS文件中直接写入一些双字节字符,有时会引发javascript编码错误,在DateChooser控件中就出现过这样的问题,现在一般的较安全的解决方法是把中文字符串转换成类似于"\u5c0f\u5bd2"这样的形式写到JS文件中,下面的代码就是实现双字节的字符和Big endian Unicode之间的相互转换。$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
/**////$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
<summary>$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
   
/// 将双字节字符转化成能更好的在网页和JS中使用的BigEndianUnicode$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
   
///$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
</summary>$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
public$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
abstract$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
class Class2$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
   
{$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
       
public$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
static$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
void Main()$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
       
{$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
           
string test =$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
"12,农民農民";$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
           
string entext = EncodingBigEndianUnicode(test);$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
            WL(test);$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
            WL(entext);$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
            WL(DecodingBigEndianUnicode(entext));$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
            RL();$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
        }
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
       
public$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
static$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
string DecodingBigEndianUnicode(string encodedString)$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
       
{$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
            System.Text.RegularExpressions.Regex regUnicode
=$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
new System.Text.RegularExpressions.Regex(@"\\u(?<1>[a-zA-Z0-9]{2})(?<2>[a-zA-Z0-9]{2})");$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
            System.Text.RegularExpressions.MatchCollection mc
= regUnicode.Matches(encodedString);$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
           
string s =$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
string.Empty;$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
           
foreach(System.Text.RegularExpressions.Match m in mc)$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
           
{$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
               
byte b1 =$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
byte.Parse(m.Groups[1].Value,System.Globalization.NumberStyles.HexNumber);$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
               
byte b2 =$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
byte.Parse(m.Groups[2].Value,System.Globalization.NumberStyles.HexNumber);$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
                s
+= System.Text.Encoding.BigEndianUnicode.GetString(new$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
byte[]{b1,b2});$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
            }
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
           
return s;$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
        }
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
        $©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
       
public$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
static$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
string EncodingBigEndianUnicode(string text)$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
       
{$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
           
string s =$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
string.Empty;$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
           
for(int i =$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
0 ; i < text.Length ; i ++)$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
           
{$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
               
string s1 = text.Substring(i,1);$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
               
byte[] bs = System.Text.Encoding.BigEndianUnicode.GetBytes(s1);$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
                s1
=$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
@"\u";$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
               
foreach(byte b in bs)$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
               
{$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
                   
string s2 = b.ToString("x");$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
                   
if(s2.Length ==$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
1)$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
                        s2
=$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
"0"$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
+ s2;$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
                    s1
+= s2;$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
                }
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
                s
+= s1;$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
            }
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
           
return s;$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
        }
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
       
Helper methods#region Helper methods$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
       
private$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
static$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
void WL(object text, params$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
object[] args)$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
       
{$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
            Console.WriteLine(text.ToString(), args);    $©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
        }
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
    $©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
       
private$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
static$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
string RL()$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
       
{$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
           
return Console.ReadLine();    $©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
        }
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
    $©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
       
private$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
static$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
void Break() $©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
       
{$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
            System.Diagnostics.Debugger.Break();$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
        }
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
       
#endregion$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf
    }
$©=Çø‘ŠÇwww.netcsharp.cn5ÍÙëÜ\êOòf