c#全半角変換

1303 ワード

	///       (SBC case)
        ///     
        ///     
        ///     12288,     32
        ///      (33-126)   (65281-65374)      :   65248
        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);
        }
		
	//        (DBC case)
        //      
        //      
        //      12288,     32
        //       (33-126)   (65281-65374)      :   65248
        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);
        }