有没有办法破译给定的编码?
is there a way to decipher a given encoding?
在 Twitter 上,此用户:https://twitter.com/Rockprincess818
似乎使用了创造性的编码技术来实现特殊格式:
他们将自己的名字列为:
他们的简介为:
'。 ' .
None 这似乎是一种标准编码(甚至不是英语——尽管我对此可能是错误的)。
我的问题:
- 他们做了什么来实现这种特殊格式?
- 如何破译这种非正常文本以了解发生了什么?
1) 有许多在线生成器(例如 this one or this one)可以让用户通过将拉丁字母替换为外观相似的 Unicode 符号,将普通文本转换为一些精美的图形表示形式。
2) 将此类文本解密回普通拉丁字符的最明显方法是尝试查找用户使用的工具以及这些工具使用的映射。然后,您可以将花哨的 Unicode 代码点映射回拉丁字符。你可以找到映射,例如。通过使用这些工具将“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
”转换为 "cursive" 并分析输出。
Unicode 标准有一个概念 compatibility,它允许将一些代码点定义为等同于其他代码点。给定问题中的字符串,可以应用 NFKC 规范化(规范化形式兼容性组合)来获得等效的拉丁字符。编程语言可以提供以编程方式应用规范化的工具。
在javascript中,可以使用string.normalize方法
name = ''
""
bio = "' . ' ."
"' . ' ."
name.normalize('NFKC')
"Lisa"
bio.normalize('NFKC')
"I'm not here for your amusement. You're here for mine."
在python中,可以使用unicodedata.normalize函数
>>> import unicodedata as ud
>>> name = ''
>>> bio = "' . ' ."
>>> ud.normalize('NFKC', name)
'Lisa'
>>> ud.normalize('NFKC', bio)
"I'm not here for your amusement. You're here for mine."
在 Twitter 上,此用户:https://twitter.com/Rockprincess818
似乎使用了创造性的编码技术来实现特殊格式:
他们将自己的名字列为:
他们的简介为:
'。 ' .
None 这似乎是一种标准编码(甚至不是英语——尽管我对此可能是错误的)。
我的问题:
- 他们做了什么来实现这种特殊格式?
- 如何破译这种非正常文本以了解发生了什么?
1) 有许多在线生成器(例如 this one or this one)可以让用户通过将拉丁字母替换为外观相似的 Unicode 符号,将普通文本转换为一些精美的图形表示形式。
2) 将此类文本解密回普通拉丁字符的最明显方法是尝试查找用户使用的工具以及这些工具使用的映射。然后,您可以将花哨的 Unicode 代码点映射回拉丁字符。你可以找到映射,例如。通过使用这些工具将“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
”转换为 "cursive" 并分析输出。
Unicode 标准有一个概念 compatibility,它允许将一些代码点定义为等同于其他代码点。给定问题中的字符串,可以应用 NFKC 规范化(规范化形式兼容性组合)来获得等效的拉丁字符。编程语言可以提供以编程方式应用规范化的工具。
在javascript中,可以使用string.normalize方法
name = ''
""
bio = "' . ' ."
"' . ' ."
name.normalize('NFKC')
"Lisa"
bio.normalize('NFKC')
"I'm not here for your amusement. You're here for mine."
在python中,可以使用unicodedata.normalize函数
>>> import unicodedata as ud
>>> name = ''
>>> bio = "' . ' ."
>>> ud.normalize('NFKC', name)
'Lisa'
>>> ud.normalize('NFKC', bio)
"I'm not here for your amusement. You're here for mine."