标签:
Just do this instead:
static byte[] GetBytes(string str) { byte[] bytes = new byte[str.Length * sizeof(char)]; System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length); return bytes; } static string GetString(byte[] bytes) { char[] chars = new char[bytes.Length / sizeof(char)]; System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length); return new string(chars); }
As long as your program (or other programs) don‘t try to interpret the bytes somehow, which you obviously didn‘t mention you intend to do, then there is nothing wrong with this approach! Worrying about encodings just makes your life more complicated for no real reason.
It will be encoded and decoded just the same, because you are just looking at the bytes.
If you used a specific encoding, though, it would‘ve given you trouble with encoding/decoding invalid characters.
【转】Contrary to the answers here, you DON'T need to worry about encoding!
标签:
原文地址:http://www.cnblogs.com/xiangniu/p/4255314.html