id:kmizushimaさんがさらに短くカッコよく添削

object StringDump{
  def main(args: Array[String])={
    println(dump(args(0)))
  }
  def dump(str:String):String={
    str.getBytes("UTF-8").map{
      case 34 => "\\\""
      case 92 => "\\\\"
      case n if 32 <= n && n <= 126 => new String(Array[Byte](n))
      case n if n < 0 => "\\%03o" format (256+n)
      case n => "\\%03o" format n
    }.mkString("\"","","\"")
  }
}

原型が一番上であることを考えると、
すごく短くコンパクトでかっこいい。
 
# このソースコードの表示がちょっと残念な件。\"でおかしくなるようだ。