文字列の反転(UTF8対応)

30分プログラム、その539。文字列の反転(UTF8対応)をやってみた。
文字列の反転は簡単だけど、日本語対応も含めるとわりと大変そうだなぁ、と思ってやってみた。
が、日本語対応も考えなくても難しかった。なんで、Pythonには破壊的なreverseしかないんだよ・・・。何度やってもNoneしか返ってこなくてはまったじゃないか。

使い方

$ python rev.py mzp
pzm

$ python rev.py みずぴー
ーぴずみ

ソースコード

#! /usr/bin/python
# -*- mode:python; coding:utf-8 -*-
#
# rev.py -
#
# Copyright(C) 2009 by mzp
# Author: MIZUNO Hiroki / mzpppp at gmail dot com
# http://howdyworld.org
#
# Timestamp: 2009/03/06 21:24:23
#
# This program is free software; you can redistribute it and/or
# modify it under MIT Lincence.
#
import sys
import codecs

def explode(s):
    return list(codecs.iterdecode(s,"utf-8"))

def reverse(s):
    xs =  explode(s)
    xs.reverse()
    return ''.join(xs)

if __name__ == '__main__':
    for arg in sys.argv[1:]:
        print reverse(arg)