首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带空格的大写文本。这是什么样的文本格式?

带空格的大写文本。这是什么样的文本格式?
EN

Stack Overflow用户
提问于 2020-11-13 16:55:31
回答 1查看 67关注 0票数 1

我有一张像这样的歌曲清单。

礼物~白~(冬恋/君の歌をうたう)[完全生産限定盤]

这里的拉丁字母礼物看上去很奇怪,我想不出怎样才能把它读成普通的文字。例如,如果你复制这个单词,它在字母或任何东西之间没有一个空格,但似乎是一种不同的文本格式。

有人能帮我把这个转换成普通文本吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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中有规格化函数:

代码语言:javascript
运行
复制
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拉丁字符集。参见示例这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64824906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档