我有一堆按顺序有随机位的字节,其中一些是 9 和 10。我可以使用下面的 perl 脚本将 8 位二进制数据转换为字符。
perl -lape '$_=pack"(B8)*",@F'
但我需要将其转换为 utf-16 字符,并且需要类似的方式,如图所示。我该怎么做?
PS:我对在 bash 上使用 utf-16 字符没有任何问题。
我有一堆按顺序有随机位的字节,其中一些是 9 和 10。我可以使用下面的 perl 脚本将 8 位二进制数据转换为字符。
perl -lape '$_=pack"(B8)*",@F'
但我需要将其转换为 utf-16 字符,并且需要类似的方式,如图所示。我该怎么做?
PS:我对在 bash 上使用 utf-16 字符没有任何问题。
在 perl 中,您可以使用oct将二进制数转换为十进制数。然后,使用chr将代码点转换为字符。编码可以将字符编码为 UTF-16。
或者,作为单行: