我有一张像这样的歌曲清单。
礼物~白~(冬恋/君の歌をうたう)[完全生産限定盤]
这里的拉丁字母礼物看上去很奇怪,我想不出怎样才能把它读成普通的文字。例如,如果你复制这个单词,它在字母或任何东西之间没有一个空格,但似乎是一种不同的文本格式。
有人能帮我把这个转换成普通文本吗?
发布于 2020-11-13 17:09:31
这些是Unicode字符。例如,“G”是
Unicode字符'FULLWIDTH拉丁文大写字母G‘(U+FF27) UTF-8 (十六进制) 0xEF 0xBC 0xA7 (efbca7)
请参阅这里
您可以将字符串复制到Notepad++中,然后将其转换为十六进制代码(扩展/转换器/ASCII-> Hex )
让EFBCA7EFBCA9EFBCA6EFBCB4
为“礼物”这个词
然后使用"Unicode EFBCA7“来查找上面的信息。
这可以转换为正常的拉丁字符。例如,在.Net中有规格化函数:
using System;
using System.Text;
public class Program
{
public static void Main()
{
Console.WriteLine("Unicode:");
String text = "GIFT";
Console.WriteLine(text);
byte[] bytes = Encoding.UTF8.GetBytes(text);
foreach(var b in bytes)
Console.Write("{0:X} ", b);
Console.WriteLine("\nASCII:");
String text2 = text.Normalize(NormalizationForm.FormKC);
Console.WriteLine(text2);
bytes = Encoding.UTF8.GetBytes(text2);
foreach(var b in bytes)
Console.Write("{0:X} ", b);
}
}
在.Net填充器上试一试,它会打印出来:
Unicode: 馈赠 EF BC A7 A9 EF BC A6 EF BC B4 ASCII: 馈赠 47 49 46 54
在其他语言中可能也有类似的功能。现在你知道你在找什么了。
搜索术语“转换unicode FULLWIDTH拉丁语”将帮助您。
另见这里
当你找不到一个函数,你也可以做你自己的转换,毕竟字符代码只是一个偏移正常的ASCII/UTF-8拉丁字符集。参见示例这里。
https://stackoverflow.com/questions/64824906
复制相似问题