c#全角(SBC)と半角(DBC)の相互変換関数

4285 ワード

コードを直接見て話そう
  /// <summary>
/// (SBC case)
/// </summary>
/// <param name="input"> </param>
/// <returns> </returns>
///<remarks>
/// 12288, 32
/// (33-126) (65281-65374) : 65248
///</remarks>
public static string ToSBC(string input)
{
//
char[] c = input.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
if (c[i] == 32)
{
c[i]
= (char)12288;
continue;
}
if (c[i] < 127)
c[i]
= (char)(c[i] + 65248);
}
return new string(c);
}


/// <summary> (DBC case) </summary>
/// <param name="input"> </param>
/// <returns> </returns>
///<remarks>
/// 12288, 32
/// (33-126) (65281-65374) : 65248
///</remarks>
public static string ToDBC(string input)
{
char[] c = input.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
if (c[i] == 12288)
{
c[i]
= (char)32;
continue;
}
if (c[i] > 65280 && c[i] < 65375)
c[i]
= (char)(c[i] - 65248);
}
return new string(c);
}