Did some tests with protoc and it handles just about everything you throw at it. I'm now just escaping tabs, newlines, quotes, and backslashes themselves.