如题..
如何将u12289 (类似的u12290,u19968等) 转换成汉字.这个好像是utf-8码.. 他现在是个string型变量string str="u12289";求详细步骤将他转换成汉字..解答者的步骤请带点注释..以便我能理解.. 十分感谢...
如何将u12289 (类似的u12290,u19968等) 转换成汉字.这个好像是utf-8码.. 他现在是个string型变量string str="u12289";求详细步骤将他转换成汉字..解答者的步骤请带点注释..以便我能理解.. 十分感谢...
这是我生成图片字库后带的配置文件里的..
他对应的应该是个汉字.. 那类似uxxxx的不是utf-8 还有可能是什么呢?
{
string[] strArray = unicodeString.Split(new string[] { @"u" }, StringSplitOptions.None);
string result = string.Empty;
for (int i = 0; i < strArray.Length; i++)
{
if (strArray[i].Trim() == "" || strArray[i].Length < 2 || strArray.Length <= 1)
{
result += i == 0 ? strArray[i] : @"u" + strArray[i]; continue;
}
for (int j = strArray[i].Length > 4 ? 4 : strArray[i].Length; j >= 2; j--)
{
try
{
result += char.ConvertFromUtf32(Convert.ToInt32(strArray[i].Substring(0, j), 16)) + strArray[i].Substring(j);
break;
}
catch
{
continue;
}
}
} return result;
} public static string ConvertToUnicode(string strGB)
{
char[] chs = strGB.ToCharArray(); string result = string.Empty; foreach (char c in chs)
{
result += @"u" + char.ConvertToUtf32(c.ToString(), 0).ToString("x");
}
return result;
}
新宋体-30pt
{
type image
source 新宋体-30pt.png glyph % 0.006835938 0 0.02734375 0.0390625
glyph ( 0.06933594 0 0.08984375 0.0390625
glyph ) 0.1318359 0 0.1523438 0.0390625
glyph + 0.1943359 0 0.2148438 0.0390625
glyph - 0.2568359 0 0.2773438 0.0390625
glyph . 0.3193359 0 0.3398438 0.0390625
glyph / 0.3818359 0 0.4023438 0.0390625
//这个文件对应的一个图片字库
//头部信息.. glyph [字符][坐标][坐标][坐标][坐标]
//后面部分一些汉字就会变成这样
glyph u12289 0.3193359 0.25 0.359375 0.2890625
glyph u12290 0.3818359 0.25 0.421875 0.2890625
glyph u19968 0.4443359 0.25 0.484375 0.2890625
glyph u19977 0.5068359 0.25 0.546875 0.2890625
glyph u19978 0.5693359 0.25 0.609375 0.2890625
glyph u19979 0.6318359 0.25 0.671875 0.2890625
glyph u19981 0.6943359 0.25 0.734375 0.2890625
glyph u20010 0.7568359 0.25 0.796875 0.2890625
glyph u20013 0.8193359 0.25 0.859375 0.2890625
glyph u20048 0.8818359 0.25 0.921875 0.2890625
glyph u20080 0.9443359 0.25 0.984375 0.2890625
//以下省略
那我这些uxxxxx算什么呢? 既然不是正确的utf-8
那你给出的方法我也不能用了吧.....
郁闷... 那这东西还奇怪了.. 长得像utf-8 .. 还少一位...
根据图片好像可以看出来 应该是这样的
u12289 是一个顿号
u12290 是一个空心的句号
u19968 汉字 一
u19977 汉字 三
u19978 汉字 上
u19979 汉字 下
u19981 汉字 不
u20010 汉字 个
u20013 汉字 中
............
http://blog.csdn.net/kunshan_shenbin/archive/2008/09/08/2898486.aspx
Console.WriteLine((char)19978); // 输出: 上
u12289 是一个顿号
u12290 是一个空心的句号
u19968 汉字 一
u19977 汉字 三
u19978 汉字 上
u19979 汉字 下
u19981 汉字 不
u20010 汉字 个
u20013 汉字 中
*/
class Program
{
static void Main()
{
string input = "u12289u12290u19968u19977u19978u19979u19981u20010u20013";
foreach (string s in input.Trim('u').Split('u'))
{
System.Console.WriteLine((char)int.Parse(s));
}
}
}
/* 程序输出:
、
。
一
三
上
下
不
个
中
*/