# Encoding of strings that pack format 'm' and 'M' generates

**URL:** <https://www.ruby-forum.com/t/encoding-of-strings-that-pack-format-m-and-m-generates/155008>\
**Category:** Development\
**Created:** [December 6, 2008, 5:09am UTC](https://www.ruby-forum.com/t/encoding-of-strings-that-pack-format-m-and-m-generates/155008 "2008-12-06T05:09:39Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yugui\_SYuki\_S.S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/dec6dc/32.png) [@Yugui\_SYuki\_S.S](https://www.ruby-forum.com/u/Yugui_SYuki_S.S)\
**Post date:** [December 6, 2008, 5:09am UTC](https://www.ruby-forum.com/t/encoding-of-strings-that-pack-format-m-and-m-generates/155008/1 "2008-12-06T05:09:39Z")

</div>

Yuguie$B$G$9!#e(B

Array#packe$B$K$\*$$$F!"e(Bquoted-printable (‘M’)e$B$He(Bbase64  
(‘m’)e$B$Ge(Bpacke$B$5$l$?J8;ze(B  
e$BNs$N%(%s%3!\<%G%#%s%0$,e(BASCII-8BITe$B$J$N$O0U?^$5$l$?5sF0$G$7$g$&$+e(B?

e$B$3$l$i$N%U%)!\<%^%C%H$N@-e!"e(BUS-ASCIIe$B$G$bNI$$$H;W$$$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Yugui\_SYuki\_S.S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/dec6dc/32.png) [@Yugui\_SYuki\_S.S](https://www.ruby-forum.com/u/Yugui_SYuki_S.S)\
**Post date:** [December 6, 2008, 6:32am UTC](https://www.ruby-forum.com/t/encoding-of-strings-that-pack-format-m-and-m-generates/155008/2 "2008-12-06T06:32:40Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:37286] Re: encoding of strings that pack  
format ‘m’ and ‘M’ generates”  
on Sat, 6 Dec 2008 14:20:20 +0900, “NARUSE, Yui” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
writes:

|Yugui (Yuki S.) wrote:  
|\> Array#packe$B$K$\*$$$F!"e(Bquoted-printable (‘M’)e$B$He(Bbase64 (‘m’)e$B$Ge(Bpacke$B$5$l$?J8;ze(B  
|\> e$BNs$N%(%s%3!\<%G%#%s%0$,e(BASCII-8BITe$B$J$N$O0U?^$5$l$?5sF0$G$7$g$&$+e(B?  
|\>  
|\> e$B$3$l$i$N%U%)!\<%^%C%H$N@-e!“e(BUS-ASCIIe$B$G$bNI$$$H;W$$$^$9!#e(B  
|  
|e$B$D$$$G$Ke(B CODERANGE e$B$b@\_Dj$7$F!”$3$s$J46$8$G$9$+$M$'!#e(B

 

e$B$G$9$M!#%3%\_%C%H$7$F$$$?$@$1$^$;$s$+!)e(B

---

<div class="post-metadata">

**Author:** ![Yugui\_SYuki\_S.S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/dec6dc/32.png) [@Yugui\_SYuki\_S.S](https://www.ruby-forum.com/u/Yugui_SYuki_S.S)\
**Post date:** [December 6, 2008, 6:26am UTC](https://www.ruby-forum.com/t/encoding-of-strings-that-pack-format-m-and-m-generates/155008/3 "2008-12-06T06:26:49Z")

</div>

e$B@.@%$G$9!#e(B

Yugui (Yuki S.) wrote:

> Array#packe$B$K$\*$$$F!"e(Bquoted-printable (‘M’)e$B$He(Bbase64 (‘m’)e$B$Ge(Bpacke$B$5$l$?J8;ze(B  
> e$BNs$N%(%s%3!\<%G%#%s%0$,e(BASCII-8BITe$B$J$N$O0U?^$5$l$?5sF0$G$7$g$&$+e(B?
> 
> e$B$3$l$i$N%U%)!\<%^%C%H$N@-e!"e(BUS-ASCIIe$B$G$bNI$$$H;W$$$^$9!#e(B

e$B$D$$$G$Ke(B CODERANGE e$B$b@\_Dj$7$F!"$3$s$J46$8$G$9$+$M$’!#e(B

# Index: pack.c

— pack.c (revision 20562)  
+++ pack.c (working copy)  
@@ -921,6 +921,7 @@ pack\_pack(VALUE ary, VALUE fmt)  
plen -= todo;  
ptr += todo;  
}

- 

```
      ENCODING_CODERANGE_SET(res, rb_usascii_encindex(), 

```

ENC\_CODERANGE\_7BIT);  
break;

```
      case 'M': /* quoted-printable encoded string */

```

@@ -928,6 +929,7 @@ pack\_pack(VALUE ary, VALUE fmt)  
if (len \<= 1)  
len = 72;  
qpencode(res, from, len);

- 

```
      ENCODING_CODERANGE_SET(res, rb_usascii_encindex(), 

```

ENC\_CODERANGE\_7BIT);  
break;

```
      case 'P': /* pointer to packed byte string */

```

@@ -1886,6 +1888,7 @@ pack\_unpack(VALUE str, VALUE fmt)  
}  
}  
rb\_str\_set\_len(buf, ptr - RSTRING\_PTR(buf));

- 

```
          ENCODING_CODERANGE_SET(buf, rb_usascii_encindex(), 

```

ENC\_CODERANGE\_7BIT);  
UNPACK\_PUSH(buf);  
}  
break;  
@@ -1914,6 +1917,7 @@ pack\_unpack(VALUE str, VALUE fmt)  
s++;  
}  
rb\_str\_set\_len(buf, ptr - RSTRING\_PTR(buf));

- 

```
          ENCODING_CODERANGE_SET(buf, rb_usascii_encindex(), 

```

ENC\_CODERANGE\_7BIT);  
UNPACK\_PUSH(buf);  
}  
break;
