Advertisement
Guest User

Untitled

a guest
Oct 20th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. /////
  2. //Make standalone function
  3. /////
  4. Encoding = Encoding.Unicode;
  5.  
  6. if (File.Exists(filename))
  7. {
  8. var encodingBytes = new byte[4];
  9.  
  10. using (var reader = new StreamReader(filename))
  11. {
  12. reader.BaseStream.Read(encodingBytes, 0, 4);
  13. }
  14.  
  15.  
  16. if (encodingBytes[0] == 239 && encodingBytes[1] == 187 && encodingBytes[2] == 191)
  17. {
  18. Encoding = Encoding.UTF8;
  19. }
  20. else if (encodingBytes[0] == 255 && encodingBytes[1] == 254 && encodingBytes[2] == 0 && encodingBytes[3] == 0)
  21. {
  22. Encoding = Encoding.UTF32;
  23. }
  24. else if (encodingBytes[0] == 0 && encodingBytes[1] == 0 && encodingBytes[2] == 254 && encodingBytes[3] == 255)
  25. {
  26. Encoding = Encoding.UTF32;
  27. }
  28. else if (encodingBytes[0] == 254 && encodingBytes[1] == 255)
  29. {
  30. Encoding = Encoding.BigEndianUnicode;
  31. }
  32. else if (encodingBytes[0] == 43 && encodingBytes[1] == 47 && encodingBytes[2] == 118)
  33. {
  34. Encoding = Encoding.UTF7;
  35. }
  36. }
  37.  
  38. if (CodeLines.First().Contains("encoding"))
  39. {
  40. var withoutSpaces = CodeLines.First().Trim();
  41. var startingIndex = withoutSpaces.IndexOf("encoding");
  42. startingIndex += 10; // encoding="
  43. var substr = withoutSpaces.Substring(startingIndex);
  44. var endingIndex = substr.IndexOf('"');
  45. var stringEnc = substr.Substring(0, endingIndex);
  46.  
  47. if (stringEnc.ToLower() == "utf-8")
  48. {
  49. Encoding = Encoding.UTF8;
  50. }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement