id:hitode909 くんがおもしろいことしてて、ちょうど MonoDevelop がクラッシュしてやる気なくなっていたのでいろいろと壊し方を考えてた。
かわいい顔文字をシャッフルするとかわいい - hitode909の日記 http://hitode909.hatenablog.com/entry/2014/04/16/141934
もっともシンプルな形
irb(main):007:0> "(੭ु ˃̶͈̀ ω ˂̶͈́)੭ु⁾⁾".chars.shuffle.join => "(̶͈)ω੭͈̀ ⁾ु́੭⁾ ु ˃˂̶"
unpack/pack する
irb(main):008:0> "(੭ु ˃̶͈̀ ω ˂̶͈́)੭ु⁾⁾".unpack("U*").shuffle.pack("U*") => "ु̶́ु˂͈̀(̶ω⁾ )˃ ⁾੭͈ ੭"
irb(main):010:0> "(੭ु ˃̶͈̀ ω ˂̶͈́)੭ु⁾⁾".unpack("U*").shuffle.pack("C*") => " m~)6A ~H\xC9m\x01(\xC3\xC2\x00HA6"
succ する
irb(main):070:0> "(੭ु ˃̶͈̀ ω ˂̶͈́)੭ु⁾⁾".unpack("U*").map(&:succ).pack("U*") => ")੮ू!˄̷͉́!ϊ!˃̷͉̂*੮ूⁿⁿ"
bytes にする
irb(main):083:0> "(੭ु ˃̶͈̀ ω ˂̶͈́)੭ु⁾⁾".bytes.shuffle.each_slice(4).map {|a| a.compact.inject(:+) }.pack("U*") => "˻ʨɏǙʮɢʷ˽ȱɀ¥"
グリッチする
irb(main):057:0> (a = "(੭ु ˃̶͈̀ ω ˂̶͈́)੭ु⁾⁾").setbyte(rand(a.bytesize), a.getbyte(rand(a.bytesize))); a => "(੭ु ˃̶͈̀ ω \xCB ̶͈́)੭ु⁾⁾"
合計する
irb(main):061:0> ["(੭ु ˃̶͈̀ ω ˂̶͈́)੭ु⁾⁾".bytes.inject(:+)].pack("U*") => "ᦥ"
irb(main):062:0> ["(੭ु ˃̶͈̀ ω ˂̶͈́)੭ु⁾⁾".unpack("U*").inject(:+)].pack("U*") => "蕔"
飽きた
ビール飲みたい