带有 space 的大写文本。这是一种什么样的文本格式?
Capital text with space. What kind of text format is this?
我有一个看起来像这样的歌曲列表。
GIFT〜白〜(冬恋/君の歌をうたう)【完全生産限定盤】
这里的拉丁字母 GIFT 看起来很奇怪,我不知道如何让它像普通文本一样阅读。例如,如果您复制这个词,它在字母之间没有 space 或其他任何内容,但似乎采用不同的文本格式。
谁能帮我把它转换成普通文本?
这些是 Unicode 字符。
例如,'G' 是
Unicode Character 'FULLWIDTH LATIN CAPITAL LETTER G' (U+FF27)
UTF-8 (hex) 0xEF 0xBC 0xA7 (efbca7)
见here
您可以将字符串复制到Notepad++,然后将其转换为十六进制代码(Extensions/Converter/ASCII->HEX)
并得到 EFBCA7EFBCA9EFBCA6EFBCB4
单词 'GIFT'
然后搜索“Unicode EFBCA7”以找到上述信息。
这可以转换成普通的拉丁字符。例如在 .Net 中有 Normalize 函数:
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 Fiddle
这将打印出:
Unicode:
GIFT
EF BC A7 EF BC A9 EF BC A6 EF BC B4
ASCII:
GIFT
47 49 46 54
其他语言应该也有类似的功能吧。现在你知道你在找什么了。
搜索词“convert unicode FULLWIDTH LATIN”将为您提供帮助。
另见
当找不到相应的函数时,您也可以自己进行转换,毕竟字符代码只是正常 ASCII/UTF-8 拉丁字符集的偏移量。请参阅示例 here。
我有一个看起来像这样的歌曲列表。
GIFT〜白〜(冬恋/君の歌をうたう)【完全生産限定盤】
这里的拉丁字母 GIFT 看起来很奇怪,我不知道如何让它像普通文本一样阅读。例如,如果您复制这个词,它在字母之间没有 space 或其他任何内容,但似乎采用不同的文本格式。
谁能帮我把它转换成普通文本?
这些是 Unicode 字符。 例如,'G' 是
Unicode Character 'FULLWIDTH LATIN CAPITAL LETTER G' (U+FF27)
UTF-8 (hex) 0xEF 0xBC 0xA7 (efbca7)
见here
您可以将字符串复制到Notepad++,然后将其转换为十六进制代码(Extensions/Converter/ASCII->HEX)
并得到 EFBCA7EFBCA9EFBCA6EFBCB4
单词 'GIFT'
然后搜索“Unicode EFBCA7”以找到上述信息。
这可以转换成普通的拉丁字符。例如在 .Net 中有 Normalize 函数:
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 Fiddle 这将打印出:
Unicode:
GIFT
EF BC A7 EF BC A9 EF BC A6 EF BC B4
ASCII:
GIFT
47 49 46 54
其他语言应该也有类似的功能吧。现在你知道你在找什么了。
搜索词“convert unicode FULLWIDTH LATIN”将为您提供帮助。
另见
当找不到相应的函数时,您也可以自己进行转换,毕竟字符代码只是正常 ASCII/UTF-8 拉丁字符集的偏移量。请参阅示例 here。