fetus Diary
2007/01/18(木) - ROT13
何を血迷ったんだか、こんなコードをさくっと書いてしまった
namespace StringUtil
{
std::wstring Rot13Encode(const std::wstring &str)
{
std::wstring result(str);
for(std::wstring::iterator it = result.begin(); it != result.end(); ++it)
{
wchar_t & c = *it;
if(('A' <= c && c <= 'M') || ('a' <= c && c <= 'm'))
{
c += 13;
}
else if(('N' <= c && c <= 'Z') || ('n' <= c && c <= 'z'))
{
c -= 13;
}
}
return result;
}
}
今時 Rot13 なんてつかわねぇよ、って感じ。
しっかし、wchar_t だと処理が楽でいいわぁ…。
ちなみに、デコード関数は inline std::wstring Rot13Decode(const std::wstring &str){ return Rot13Encode(str); } とでも書いておけばヨロシイんではないかと。別に分ける意味は感じませんが。(敢えて言うなら、気分的に良いかも、という程度)
# インデントは懐かしの Symbian スタイル。本当にスタイルをあわせようと思ったら aTargetString とか、Rot13EncodeL とかにしないといけないけどな(ぉ
- 07/01/19
5:015:16
関係あるかも?
このエントリは次のエントリから参照されているみたいです
- 2008/06/25(水) - HiNa - Symbianプラットホームをオープンソース化へ
コメント
コメントはありません。