日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Perl函数pack/unpack(二进制读写)

發布時間:2025/3/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Perl函数pack/unpack(二进制读写) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
函數名pack
調用語法formatstr = pack(packformat, list);
解說把一個列表或數組以在實際機器存貯格式或C等編程語言使用的格式轉化(包裝)到一個簡單變量中。參數packformat包含一個或多個格式字符,列表中每個元素對應一個,各格式字符間可用空格或tab隔開,因為pack忽略空格。
?? 除了格式a、A和@外,重復使用一種格式多次可在其后加個整數,如:
??? $twoints = pack ("i2", 103, 241);
?? 把同一格式應用于所有的元素則加個*號,如:
??? $manyints = pack ("i*", 14, 26, 11, 83);
?? 對于a和A而言,其后的整數表示要創建的字符串長度,重復方法如下:
??? $strings = pack ("a6" x 2, "test1", "test2");
?? 格式@的情況比較特殊,其后必須加個整數,該數表示字符串必須的長度,如果長度不夠,則用空字符(null)補足,如:
??? $output = pack ("a @6 a", "test", "test2");
?? pack函數最常見的用途是創建可與C程序交互的數據,例如C語言中字符串均以空字符(null)結尾,創建這樣的數據可以這樣做:
??? $Cstring = pack ("ax", $mystring);
?? 下表是一些格式字符與C中數據類型的等價關系:
字符??等價C數據類型
Cchar
ddouble
ffloat
iint
Iunsigned int (or unsigned)
llong
Lunsigned long
sshort
Sunsigned short
?? 完整的格式字符見下表。

格式字符??描述
a用空字符(null)補足的字符串
A用空格補足的字符串
b位串,低位在前
B位串,高位在前
c帶符號字符(通常-128~127)
C無符號字符(通常8位)
d雙精度浮點數
f單精度浮點數
h十六進制數串,低位在前
H十六進制數串,高位在前
i帶符號整數
I無符號整數
l帶符號長整數
L無符號長整數
n網絡序短整數
N網絡序長整數
p字符串指針
s帶符號短整數
S無符號短整數
u轉化成uuencode格式
vVAX序短整數
VVAX序長整數
x一個空字節
X回退一個字節
@以空字節(null)填充

函數名unpack
調用語法@list = unpack (packformat, formatstr);
解說unpack與pack功能相反,將以機器格式存貯的值轉化成Perl中值的列表。其格式字符與pack基本相同(即上表),不同的有:A格式將機器格式字符串轉化為Perl字符串并去掉尾部所有空格或空字符;x為跳過一個字節;@為跳過一些字節到指定的位置,如@4為跳過4個字節。下面看一個@和X合同的例子:???? $longrightint = unpack ("@* X4 L", $packstring);
?? 此語句將最后四個字節看作無符號長整數進行轉化。下面看一個對uuencode文件解碼的例子:
1 : #!/usr/local/bin/perl
2 :
3 : open (CODEDFILE, "/u/janedoe/codefile") ||
4 : die ("Can't open input file");
5 : open (OUTFILE, ">outfile") ||
6 : die ("Can't open output file");
7 : while ($line = <CODEDFILE>) {
8 : $decoded = unpack("u", $line);
9 : print OUTFILE ($decoded);
10: }
11: close (OUTFILE);
12: close (CODEDFILE);?? 當將pack和unpack用于uuencode時,要記住,雖然它們與UNIX中的uuencode、uudecode工具算法相同,但并不提供首行和末行,如果想用uudecode對由pack的輸出創建的文件進行解碼,必須也把首行和末行輸出(詳見UNIX中uuencode幫助)。

轉載于:https://www.cnblogs.com/starspace/archive/2009/01/18/1377945.html

總結

以上是生活随笔為你收集整理的Perl函数pack/unpack(二进制读写)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产女教师一区二区三区 | 91久久精品美女高潮 | 999视频在线观看 | 亚洲精品一线二线三线 | 丁香花在线影院观看在线播放 | jizz91| 国产精品欧美性爱 | 99精品视频在线免费观看 | 天天上天天干 | 国产成人精品一区 | 清纯唯美第一页 | 欧美人与性囗牲恔配 | 精品一区91 | 欧美高清在线一区 | 黄色在线免费观看视频 | av一区在线 | 欧美一级在线免费观看 | 国产真实老熟女无套内射 | 色播视频在线观看 | 成人特级毛片69免费观看 | 超碰在线看 | 午夜中出 | 成人国产在线观看 | 高跟91娇喘| 成人性视频网站 | 丰满岳妇乱一区二区三区 | 成人涩涩网 | 亚洲av无码专区在线播放中文 | 日本免费一区视频 | 国产老妇伦国产熟女老妇视频 | 久久久中文 | 日本成人免费网站 | 国产黄色的视频 | 黑人精品欧美一区二区蜜桃 | 免费久久 | 日本v视频 | 日韩视频在线观看一区 | 亚洲欧美成人一区二区三区 | 色综合久久88色综合天天6 | 4438成人网 | 日本黄色免费网址 | 麻豆videos| 国产suv精品一区二区 | 福利小视频在线观看 | 黄页视频在线观看 | 五月婷婷深深爱 | 懂色aⅴ一区二区三区免费 国产精品99在线观看 | 婷婷激情五月综合 | 亚洲社区在线 | 男女性生活毛片 | 嫩草网站| 日韩草逼| 亚洲av电影天堂男人的天堂 | 婷婷色影院 | 成人久草| 扒开伸进免费视频 | 91精品视频免费在线观看 | 日本人妻换人妻毛片 | 黄色录像网址 | 毛片大全在线观看 | 一区二区三区精品视频在线观看 | 日本不卡123 | jizz日本在线 | 床上激情网站 | 亚洲精品在线免费播放 | 免费看60分钟黄视频 | 青青草成人av | 欧美激情偷拍 | 亚洲一区成人 | 性欧美videos另类艳妇3d | 色七七亚洲 | 国产精品12区 | 亚洲黄色影视 | 中文字幕第88页 | 成人香蕉视频在线观看 | 手机看片日韩欧美 | 中文字幕精品视频在线 | 诱夫1v1高h | 精品一区二区三区不卡 | 国产老女人乱淫免费可以 | 亚洲图片欧美另类 | 国产人妻精品午夜福利免费 | 亚洲久久在线 | 天天狠天天插天天透 | 久久久久久久一区二区 | 精品国产一区二区三区在线 | 国产精品黄在线观看 | 国产中文字幕久久 | 亚洲视频国产视频 | 日韩国产欧美视频 | 亚洲午夜精品一区二区 | 在线免费看av网站 | 中国久久久 | 国产污片在线观看 | 一区二区三区视频在线播放 | 日韩免费看 | 香蕉视频一级片 | 先锋影音在线 | 一区二区激情视频 |