Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /////
- //Make standalone function
- /////
- Encoding = Encoding.Unicode;
- if (File.Exists(filename))
- {
- var encodingBytes = new byte[4];
- using (var reader = new StreamReader(filename))
- {
- reader.BaseStream.Read(encodingBytes, 0, 4);
- }
- if (encodingBytes[0] == 239 && encodingBytes[1] == 187 && encodingBytes[2] == 191)
- {
- Encoding = Encoding.UTF8;
- }
- else if (encodingBytes[0] == 255 && encodingBytes[1] == 254 && encodingBytes[2] == 0 && encodingBytes[3] == 0)
- {
- Encoding = Encoding.UTF32;
- }
- else if (encodingBytes[0] == 0 && encodingBytes[1] == 0 && encodingBytes[2] == 254 && encodingBytes[3] == 255)
- {
- Encoding = Encoding.UTF32;
- }
- else if (encodingBytes[0] == 254 && encodingBytes[1] == 255)
- {
- Encoding = Encoding.BigEndianUnicode;
- }
- else if (encodingBytes[0] == 43 && encodingBytes[1] == 47 && encodingBytes[2] == 118)
- {
- Encoding = Encoding.UTF7;
- }
- }
- if (CodeLines.First().Contains("encoding"))
- {
- var withoutSpaces = CodeLines.First().Trim();
- var startingIndex = withoutSpaces.IndexOf("encoding");
- startingIndex += 10; // encoding="
- var substr = withoutSpaces.Substring(startingIndex);
- var endingIndex = substr.IndexOf('"');
- var stringEnc = substr.Substring(0, endingIndex);
- if (stringEnc.ToLower() == "utf-8")
- {
- Encoding = Encoding.UTF8;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement