using
System;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main( string [] args)
{
while ( true )
{
string text = Console.ReadLine();
if (text.ToUpper() == " Q " )
{
break ;
}
Console.WriteLine(GetChineseSpell(text));
}
}
static public string GetChineseSpell( string strText)
{
int len = strText.Length;
string myStr = "" ;
for ( int i = 0 ; i < len; i ++ )
{
myStr += getSpell(strText.Substring(i, 1 ));
}
return myStr;
}
static public string getSpell( string cnChar)
{
byte [] arrCN = Encoding.Default.GetBytes(cnChar);
if (arrCN.Length > 1 )
{
int area = ( short )arrCN[ 0 ];
int pos = ( short )arrCN[ 1 ];
int code = (area << 8 ) + pos;
int [] areacode = { 45217 , 45253 , 45761 , 46318 , 46826 , 47010 , 47297 , 47614 , 48119 , 48119 , 49062 , 49324 , 49896 , 50371 , 50614 , 50622 , 50906 , 51387 , 51446 , 52218 , 52698 , 52698 , 52698 , 52980 , 53689 , 54481 };
for ( int i = 0 ; i < 26 ; i ++ )
{
int max = 55290 ;
if (i != 25 ) max = areacode[i + 1 ];
if (areacode[i] <= code && code < max)
{
return Encoding.Default.GetString( new byte [] { ( byte )( 65 + i) });
}
}
return " * " ;
}
else return cnChar;
}
}
}
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main( string [] args)
{
while ( true )
{
string text = Console.ReadLine();
if (text.ToUpper() == " Q " )
{
break ;
}
Console.WriteLine(GetChineseSpell(text));
}
}
static public string GetChineseSpell( string strText)
{
int len = strText.Length;
string myStr = "" ;
for ( int i = 0 ; i < len; i ++ )
{
myStr += getSpell(strText.Substring(i, 1 ));
}
return myStr;
}
static public string getSpell( string cnChar)
{
byte [] arrCN = Encoding.Default.GetBytes(cnChar);
if (arrCN.Length > 1 )
{
int area = ( short )arrCN[ 0 ];
int pos = ( short )arrCN[ 1 ];
int code = (area << 8 ) + pos;
int [] areacode = { 45217 , 45253 , 45761 , 46318 , 46826 , 47010 , 47297 , 47614 , 48119 , 48119 , 49062 , 49324 , 49896 , 50371 , 50614 , 50622 , 50906 , 51387 , 51446 , 52218 , 52698 , 52698 , 52698 , 52980 , 53689 , 54481 };
for ( int i = 0 ; i < 26 ; i ++ )
{
int max = 55290 ;
if (i != 25 ) max = areacode[i + 1 ];
if (areacode[i] <= code && code < max)
{
return Encoding.Default.GetString( new byte [] { ( byte )( 65 + i) });
}
}
return " * " ;
}
else return cnChar;
}
}
}