| 12345678910111213141516171819202122232425262728293031 |
- using System.IO;
- using System.Text;
- using Abp.IO.Extensions;
- namespace Abp.Localization.Dictionaries
- {
- internal static class Utf8Helper
- {
- public static string ReadStringFromStream(Stream stream)
- {
- var bytes = stream.GetAllBytes();
- var skipCount = HasBom(bytes) ? 3 : 0;
- return Encoding.UTF8.GetString(bytes, skipCount, bytes.Length - skipCount);
- }
- private static bool HasBom(byte[] bytes)
- {
- if (bytes.Length < 3)
- {
- return false;
- }
- if (!(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF))
- {
- return false;
- }
- return true;
- }
- }
- }
|