“W”在 Perl 的解包函数中究竟做了啥?
Posted
技术标签:
【中文标题】“W”在 Perl 的解包函数中究竟做了啥?【英文标题】:What exactly "W" do in unpack function in Perl?“W”在 Perl 的解包函数中究竟做了什么? 【发布时间】:2010-08-16 06:14:22 【问题描述】:我不明白“W”到底是做什么的。
my $x = "this is my string";
print unpack("W",substr($x,0,1));
打印:116
my $x = "this is my string";
print unpack("W",$x);
静态打印:116
【问题讨论】:
Subham,你所有的答案都是关于:perl 函数位于一个命令后面:'perldoc perlfunc' - 强烈建议阅读整个 perldoc;教会了我很多东西。 【参考方案1】:来自perldoc:W An unsigned char value (can be greater than 255).
您的两个示例都返回相同的内容,因为您的 unpack 参数 "W"
仅使用一个字符。请改用"W*"
。
【讨论】:
是的。你是对的,但为什么是 116? “t”的 ASCII 值不是那个。ord 't' == 116
和 The ASCII code for capital T is 84 and for lowercase t is 116
- en.wikipedia.org/wiki/T
Shubham: man ascii
适用于任何 unix 系统。这是检查 ascii 字符的十六进制/八进制/十进制值的最快方法。以上是关于“W”在 Perl 的解包函数中究竟做了啥?的主要内容,如果未能解决你的问题,请参考以下文章
解包函数将如何在 perl 中用于此代码 $str =~ s/([^\w ])/'%'.unpack('H2', $1)/eg;
OpenGL Bindless Texture 函数 glMakeTextureHandleNonResident 究竟做了啥?