[Ruby] base64
Sergei Dolmatov
sergei at dolmatov.dsb.ru
Thu May 8 10:58:14 MSD 2003
On Thu, May 08, 2003 at 10:47:01AM +0400, SoNaR wrote:
> Hello Sergei,
>
> Thursday, May 8, 2003, 10:22:25 AM, you wrote:
>
> SD> On Thu, May 08, 2003 at 09:48:27AM +0400, SoNaR wrote:
> >> Hello ruby,
> >>
> >> Как мне перевести строчку 'yuDw4Pfg5eLuLdfl8Orl8fHo/y4' в нормальный
> >> читаемый вид?
> >> Делаю 'yuDw4Pfg5eLuLdfl8Orl8fHo/y4'.unpack("m")[0]
> >> и получаю
> >> "\312\340\360\340\367\340\345\342\356-\327\345\360\352\345\361\361\350"
> >> Вопрос: как получить из этого русскоязычный текст в кодировке
> >> win1251?
>
> SD> Один из вариантов:
>
> SD> #!/usr/bin/env ruby
>
> SD> def win2koi(str)
> SD> return
> SD> str.tr('АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя',
> SD> 'бвчздецъйклмнопртуфхжигюыэящшьасБВЧЗДЕЦЪЙКЛМНОПРТУФХЖИГЮЫЭЯЩШЬАС');
> SD> end;
>
> SD> puts win2koi('yuDw4Pfg5eLuLdfl8Orl8fHo/y4'.unpack("m")[0])
>
> SD> --
> SD> Regards,
> SD> Sergei Dolmatov.
> SD> ---
> SD> UNIX enhancements aren't.
> SD> _______________________________________________
> SD> Ruby mailing list
> SD> Ruby at altlinux.ru
> SD> http://www.altlinux.ru/mailman/listinfo/ruby
>
> А в результате получаю nil...
Хм. Видимо, vim не совсем корректно обошелся с этой строкой, а я не
проконтролировал. Функция win2koi состоит из трех строк, на первой -
определение ее, на второй - собственно тело, на третьей - end. То есть,
выглядеть должно вот так:
def win2koi(str)
str.tr('АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя', 'бвчздецъйклмнопртуфхжигюыэящшьасБВЧЗДЕЦЪЙКЛМНОПРТУФХЖИГЮЫЭЯЩШЬАС');
end
return, насколько я помню, можно опустить.
--
Regards,
Sergei Dolmatov.
---
UNIX enhancements aren't.
More information about the Ruby
mailing list