- 浏览: 1384039 次
- 性别:
- 来自: 陕西.西安
文章分类
最新评论
-
dare_:
经过试验 设置之后反而更慢没有调用ensureCapacity ...
ensureCapacity()方法提高ArrayList的初始化速度 -
wangchao9053:
[flash=200,200][url][img][list] ...
Only the original thread that created a view hierarchy can touch its views的相关 -
cyb504:
考虑将rb文件代码隐藏:我先使用命令jrubyc将所有rb文件 ...
Ruby学习十 JRuby中调用java代码 -
4562xse3460:
大哥,您这个写反了,差点误导我,我觉得看着就不对。百度第一条就 ...
portrait表示纵向,landscape表示横向 -
yin138:
portrait是肖像画,即竖屏,landscape是风景画, ...
portrait表示纵向,landscape表示横向
http://fuliang.iteye.com/blog/680502
从一个例子开始:如何将一个字符串转化成一个十六进制的串。一种方法是使用字符串的each_byte来做:
res = [] "abc".each_byte {|i| res << i} res.map {|i| i.to_s(16)}
写了三行才实现出来这个功能,非常不爽。我们看看unpack的强大功能吧:
"abc".unpack('H*')
一行代码搞定。
unpack将传入的参数作为指令,作用于调于的字符串,处理过程是一个流式的过程,每一个字符指令后面可能跟着一个数字,数字代表顺序作用于字符串字符的次数,*代表顺序作用域剩余的所有字符。
上面例子H*指令,代表每次取半字节的16进制数。
unpack可以非常方便的处理字符串的各种转换。
以下字符指令的参考表(来自rdoc):
Format | Returns | Function
-------+---------+-----------------------------------------
A | String | with trailing nulls and spaces removed
-------+---------+-----------------------------------------
a | String | string
-------+---------+-----------------------------------------
B | String | extract bits from each character (msb first)
-------+---------+-----------------------------------------
b | String | extract bits from each character (lsb first)
-------+---------+-----------------------------------------
C | Fixnum | extract a character as an unsigned integer
-------+---------+-----------------------------------------
c | Fixnum | extract a character as an integer
-------+---------+-----------------------------------------
d,D | Float | treat sizeof(double) characters as
| | a native double
-------+---------+-----------------------------------------
E | Float | treat sizeof(double) characters as
| | a double in little-endian byte order
-------+---------+-----------------------------------------
e | Float | treat sizeof(float) characters as
| | a float in little-endian byte order
-------+---------+-----------------------------------------
f,F | Float | treat sizeof(float) characters as
| | a native float
-------+---------+-----------------------------------------
G | Float | treat sizeof(double) characters as
| | a double in network byte order
-------+---------+-----------------------------------------
g | Float | treat sizeof(float) characters as a
| | float in network byte order
-------+---------+-----------------------------------------
H | String | extract hex nibbles from each character
| | (most significant first)
-------+---------+-----------------------------------------
h | String | extract hex nibbles from each character
| | (least significant first)
-------+---------+-----------------------------------------
I | Integer | treat sizeof(int) (modified by _)
| | successive characters as an unsigned
| | native integer
-------+---------+-----------------------------------------
i | Integer | treat sizeof(int) (modified by _)
| | successive characters as a signed
| | native integer
-------+---------+-----------------------------------------
L | Integer | treat four (modified by _) successive
| | characters as an unsigned native
| | long integer
-------+---------+-----------------------------------------
l | Integer | treat four (modified by _) successive
| | characters as a signed native
| | long integer
-------+---------+-----------------------------------------
M | String | quoted-printable
-------+---------+-----------------------------------------
m | String | base64-encoded
-------+---------+-----------------------------------------
N | Integer | treat four characters as an unsigned
| | long in network byte order
-------+---------+-----------------------------------------
n | Fixnum | treat two characters as an unsigned
| | short in network byte order
-------+---------+-----------------------------------------
P | String | treat sizeof(char *) characters as a
| | pointer, and return \emph{len} characters
| | from the referenced location
-------+---------+-----------------------------------------
p | String | treat sizeof(char *) characters as a
| | pointer to a null-terminated string
-------+---------+-----------------------------------------
Q | Integer | treat 8 characters as an unsigned
| | quad word (64 bits)
-------+---------+-----------------------------------------
q | Integer | treat 8 characters as a signed
| | quad word (64 bits)
-------+---------+-----------------------------------------
S | Fixnum | treat two (different if _ used)
| | successive characters as an unsigned
| | short in native byte order
-------+---------+-----------------------------------------
s | Fixnum | Treat two (different if _ used)
| | successive characters as a signed short
| | in native byte order
-------+---------+-----------------------------------------
U | Integer | UTF-8 characters as unsigned integers
-------+---------+-----------------------------------------
u | String | UU-encoded
-------+---------+-----------------------------------------
V | Fixnum | treat four characters as an unsigned
| | long in little-endian byte order
-------+---------+-----------------------------------------
v | Fixnum | treat two characters as an unsigned
| | short in little-endian byte order
-------+---------+-----------------------------------------
w | Integer | BER-compressed integer (see Array.pack)
-------+---------+-----------------------------------------
X | --- | skip backward one character
-------+---------+-----------------------------------------
x | --- | skip forward one character
-------+---------+-----------------------------------------
Z | String | with trailing nulls removed
| | upto first null with *
-------+---------+-----------------------------------------
@ | --- | skip to the offset given by the
| | length argument
-------+---------+-----------------------------------------
发表评论
-
rsync参数详解、利用ssh、rsync 实现数据的定时同步
2012-09-11 14:52 1730http://colderboy.blog.51cto.com ... -
putty
2011-12-02 10:50 1125http://www.iteye.com/topic/5606 ... -
haml
2011-12-01 22:53 1146http://aideehorn.iteye.com/blog ... -
ruby 生成随机数 和 随机字符串
2011-11-30 22:42 3545ruby 生成随机数 和 随机字符串 1,ra ... -
ruby and watir学习之_Hash 类
2011-11-20 17:53 1666http://www.cnblogs.com/zhangfei ... -
gem相关命令使用
2011-11-19 00:01 2858http://www.cnblogs.com/orez88/a ... -
Rails,启动-重要
2011-11-17 09:59 1806http://www.blogjava.net/sshwsfc ... -
使用 RSpec 进行行为驱动测试,配置分析
2011-11-11 13:21 1599http://huangzhimin.com/ < ... -
ruby的class与module的区别
2011-11-07 10:04 2383http://blog.163.com/rettar@126/ ... -
ruby invalid multibyte char (US-ASCII)
2011-11-05 01:57 4707要加上: # encoding: utf-8 一般要 ... -
File.split(pathname)
2011-11-05 01:42 2268http://www.kuqin.com/rubycndocu ... -
Ruby怎样获取操作系统的Name
2011-11-05 01:30 1299http://bbs.chinaunix.net/thr ... -
ruby环境变量的文件读取形式
2011-10-31 11:29 1865http://blog.csdn.net/normallife ... -
Ruby学习九 排序 sort
2011-10-26 20:06 3586h = ['1','10','11','2','4']A. p ... -
关于rails插件will_paginate的配置和用法
2011-10-26 15:56 4381http://selfcontroller.iteye.com ... -
ruby 中的 && ,|| ,!! (转)
2011-10-26 14:59 969http://selfcontroller.iteye.com ... -
Ruby中 respond_to? 和 send 的用法 .
2011-10-26 14:19 5373http://selfcontroller.iteye.com ... -
ruby 在线正则表达式 编辑器
2011-10-25 09:22 1756http://www.rubular.com/ -
ruby-Jruby,Xruby 转
2011-10-25 09:22 894ruby-Jruby,Xruby 2009年06月21 ... -
alias 与 alias_method的区别
2011-10-24 16:34 1809alias 与 alias_method的区别 (2009-7 ...
相关推荐
在Lua编程语言中,unpack函数是一个非常实用且高效的工具,它主要用于从数组类型的table中解包元素。在本文中,我们将详细介绍unpack函数的用法,包括它的基本功能和如何通过实例来掌握它的使用技巧。 首先,让我们...
- **String#unpack1**:新的方法,可以从二进制字符串中提取单个元素。 - **Integer#digits**:返回一个数组,包含整数的二进制、八进制、十进制或十六进制表示的每一位数字。 - **Performance Enhancements**:包括...
This test case unpacks the compressed code for the MochiKit, jQuery, Dojo and Prototype JavaScript libraries.
- **Array#unpack**:用于将读取的字节串按照指定的格式拆分。 总结来说,Ruby中的字符串编码管理是一个非常灵活而强大的特性。开发者可以通过合理设置脚本编码、使用`Encoding`类的方法以及注意字符串的操作,确保...
在Ruby编程语言中,字符串(String)是处理文本数据的基本元素。字符串可以由单引号或双引号定义,其中双引号允许转义字符和变量插入。Ruby中的字符串操作非常灵活,提供了丰富的函数和方法来处理字符串内容。 1. **...
`pack` gem 提供了数据打包和解包的功能,类似于 Ruby 的 `Array#pack` 和 `String#unpack` 方法。这在处理二进制数据,如网络传输或文件存储时非常有用。 `file` 和 `io` gem 提供了与文件系统和输入/输出操作相关...
### SAP ME Pack and Unpack功能设置与使用指南 #### 概述 本指南旨在为用户提供关于如何在SAP Manufacturing Execution (SAP ME)系统中设置和使用Pack与Unpack功能的详细步骤。此功能主要用于处理制造过程中产品...
"rsa-unpack"就是这样一个专为前端开发者设计的开源库,它专注于RSA解包,特别是从PEM(Privacy Enhanced Mail)格式的字符串中提取RSA密钥字段。 RSA是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard ...
《快速解压工具Quick_Unpack_v2.0final详解及应用》 在计算机技术领域,文件的压缩与解压是一项基础且重要的操作。压缩能够节省存储空间,方便传输,而解压缩则是恢复原始数据的关键步骤。本文将详细介绍一款名为...
pack和unpack是用于数据打包和解包的函数,而ord函数则是用来获取字符的ASCII码值。接下来,将从这几个方面深入解析这些知识点。 pack函数是PHP中的内置函数,它主要用于将数据打包成二进制字符串。pack函数的主要...
- `unpack`: 解包字符串。 - `upcase!`: 转换所有字符为大写。 - `upto`: 用于遍历范围内的数值。 2. **正则表达式方法**: - `escape`: 转义特殊字符。 - `last_match`: 返回最近一次匹配的对象。 - `new`: ...
"mp-unpack mp-unpack" 这个标题和描述似乎在重复同一个关键词,可能是由于某种原因导致信息不完整。不过,我们可以根据“mp-unpack”这个标签来推测这是关于一个用于解压或处理MP格式文件的工具或者命令。在IT领域...
把脚本unpack_plist_2.py和图集文件xx_1.png、xx_1.plist、xx_2.png、xx_2.plist....放入同一个文件夹(可放多套图集),然后执行脚本,拆解后的小图在该文件夹下生成xx_1、xx_2...等对应的文件夹中
Quick Unpack v2.2 汉化版,全能脱壳工具,csdn上的都是汉化失败,乱码,没法用,就自己从新汉化,测试完成,下载请评价!
本“unpack.zip”压缩包就是针对这一需求提供的一个资源包,它可以帮助我们理解并分析小程序的内部结构。 1. **小程序的结构** 小程序是由一系列的JSON配置文件、WXML(结构层)文件、WXSS(样式层)文件和...
Resco Backup Unpack Tool v1.0 是一款专为Resco Backup备份文件设计的实用工具,旨在帮助用户方便地解压和管理Resco Backup的备份组文件。这款绿色汉化版意味着它无需安装,直接运行即可,且界面及操作指南已经翻译...
# unpack (you need the ncompress package for this to work) tar xf mangl.tar.Z release/xc/doc/man tar xf manglu.tar.Z release/xc/doc/man tar xf manglx.tar.Z release/xc/doc/man # configure and make ...
使用struck.unpack获取子字符串 复制代码 代码如下:import struct print struct.unpack(format, ‘Test astring’) #(‘Test’, ‘ing’) 来个简单的例子吧,有一个字符串’He is not very happy’,处理一下,把...
webRTC_m79版本AECDump分析所用unpack_aecdump文件,注意该文件需要在linux环境下运行。