究竟"W"在Perl的解包功能中做了什么?

Shu*_*ham 1 perl unpack

我无法理解"W"到底是做什么的.

my $x = "this is my string";

print unpack("W",substr($x,0,1));
Run Code Online (Sandbox Code Playgroud)

印刷品:116

my $x = "this is my string";

print unpack("W",$x);
Run Code Online (Sandbox Code Playgroud)

仍然打印:116

Eri*_*rom 6

来自perldoc:W An unsigned char value (can be greater than 255).

你的两个例子都返回相同的东西,因为你的unpack参数"W"只消耗一个字符.试试吧"W*".