Will users want the value of `self` back if the conversion fails? It may be worth changing the return type of this to `Result<~[Ascii], Self>`.