gpt4 book ai didi

perl - 如何在perl中以原始字节十六进制形式打印字符串?

转载 作者:行者123 更新时间:2023-12-05 00:59:16 26 4
gpt4 key购买 nike

例如,我有以下脚本

use utf8;
use strict;
use warnings;
use feature 'say';
use Encode qw(decode encode);

my $s = "中";

my $octets = encode("UTF-8", $s);
say $octets;
$octets = encode("cp936", $s);
say $octets;

在windows cmd中输出(在cp936中设置)如下:

涓?


但我要输出的是十六进制形式的原始字节,例如,像这样

E4B8AD   # 中 encoded in utf8
D6D0 # 中 encoded in GBK

这个原始字节输出在 perl 中的哪个函数?

最佳答案

sprintf '%v02X', $octets                                    # E4.B8.AD

unpack 'H*', $octets # e4b8ad

uc unpack 'H*', $octets # E4B8AD

join ' ', map sprintf('%02X', $_), unpack 'C*', $octets # E4 B8 AD

join ' ', map sprintf('%02X', ord($_)), split //, $octets # E4 B8 AD

关于perl - 如何在perl中以原始字节十六进制形式打印字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54319225/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com