diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 6640d64..2a19419 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -1,18 +1,18 @@
-
- nsnail
- NSExt
- © 2006-2022 nsnail
- https://github.com/nsnail/ns-ext.git
- true
- true
- true
- Git
- true
- true
- snupkg
- MIT
- https://github.com/nsnail/ns-ext.git
- ../../build/nupkgs
-
+
+ nsnail
+ NSExt
+ © 2006-2022 nsnail
+ https://github.com/nsnail/ns-ext.git
+ true
+ true
+ true
+ Git
+ true
+ true
+ snupkg
+ MIT
+ https://github.com/nsnail/ns-ext.git
+ ../../build/nupkgs
+
\ No newline at end of file
diff --git a/src/NSExt/Extensions/ByteExtensions.cs b/src/NSExt/Extensions/ByteExtensions.cs
index abfa269..2c28d3e 100644
--- a/src/NSExt/Extensions/ByteExtensions.cs
+++ b/src/NSExt/Extensions/ByteExtensions.cs
@@ -34,4 +34,8 @@ public static class ByteExtensions
{
return me.HexDe(Encoding.UTF8);
}
-}
\ No newline at end of file
+}
+
+
+
+
diff --git a/src/NSExt/Extensions/CharExtensions.cs b/src/NSExt/Extensions/CharExtensions.cs
index d906477..911c50b 100644
--- a/src/NSExt/Extensions/CharExtensions.cs
+++ b/src/NSExt/Extensions/CharExtensions.cs
@@ -24,3 +24,9 @@ public static class CharExtensions
}
+
+
+
+
+
+
diff --git a/src/NSExt/Extensions/DateTimeExtensions.cs b/src/NSExt/Extensions/DateTimeExtensions.cs
index 449dfd5..5412ccf 100644
--- a/src/NSExt/Extensions/DateTimeExtensions.cs
+++ b/src/NSExt/Extensions/DateTimeExtensions.cs
@@ -87,3 +87,8 @@ public static class DateTimeExtensions
return me.ToString("yyyyMMdd");
}
}
+
+
+
+
+
diff --git a/src/NSExt/Extensions/DbCommandExtensions.cs b/src/NSExt/Extensions/DbCommandExtensions.cs
index 693152f..468d1d3 100644
--- a/src/NSExt/Extensions/DbCommandExtensions.cs
+++ b/src/NSExt/Extensions/DbCommandExtensions.cs
@@ -28,3 +28,9 @@ public static class DbCommandExtensions
}
}
+
+
+
+
+
+
diff --git a/src/NSExt/Extensions/DecimalExtensions.cs b/src/NSExt/Extensions/DecimalExtensions.cs
index 6bbde35..5263fda 100644
--- a/src/NSExt/Extensions/DecimalExtensions.cs
+++ b/src/NSExt/Extensions/DecimalExtensions.cs
@@ -16,3 +16,9 @@ public static class DecimalExtensions
}
+
+
+
+
+
+
diff --git a/src/NSExt/Extensions/EnumExtensions.cs b/src/NSExt/Extensions/EnumExtensions.cs
index 10642a3..6358130 100644
--- a/src/NSExt/Extensions/EnumExtensions.cs
+++ b/src/NSExt/Extensions/EnumExtensions.cs
@@ -17,3 +17,8 @@ public static class EnumExtensions
}
+
+
+
+
+
diff --git a/src/NSExt/Extensions/EnumerableExtensions.cs b/src/NSExt/Extensions/EnumerableExtensions.cs
index 369ccae..fd0b72f 100644
--- a/src/NSExt/Extensions/EnumerableExtensions.cs
+++ b/src/NSExt/Extensions/EnumerableExtensions.cs
@@ -26,3 +26,8 @@ public static class EnumerableExtensions
}
+
+
+
+
+
diff --git a/src/NSExt/Extensions/GenericExtensions.cs b/src/NSExt/Extensions/GenericExtensions.cs
index eb09d52..1943203 100644
--- a/src/NSExt/Extensions/GenericExtensions.cs
+++ b/src/NSExt/Extensions/GenericExtensions.cs
@@ -43,3 +43,9 @@ public static class GenericExtensions
}
+
+
+
+
+
+
diff --git a/src/NSExt/Extensions/IntExtensions.cs b/src/NSExt/Extensions/IntExtensions.cs
index 40d244a..5877cf3 100644
--- a/src/NSExt/Extensions/IntExtensions.cs
+++ b/src/NSExt/Extensions/IntExtensions.cs
@@ -36,3 +36,8 @@ public static class IntExtensions
}
+
+
+
+
+
diff --git a/src/NSExt/Extensions/JsonSerializerOptionsExtensions.cs b/src/NSExt/Extensions/JsonSerializerOptionsExtensions.cs
index 048b217..b989f96 100644
--- a/src/NSExt/Extensions/JsonSerializerOptionsExtensions.cs
+++ b/src/NSExt/Extensions/JsonSerializerOptionsExtensions.cs
@@ -18,4 +18,8 @@ public static class JsonSerializerOptionsExtensions
PropertyNameCaseInsensitive = true
};
}
-}
\ No newline at end of file
+}
+
+
+
+
diff --git a/src/NSExt/Extensions/LoggerExtensions.cs b/src/NSExt/Extensions/LoggerExtensions.cs
index a4e09ac..46bb32c 100644
--- a/src/NSExt/Extensions/LoggerExtensions.cs
+++ b/src/NSExt/Extensions/LoggerExtensions.cs
@@ -66,3 +66,8 @@ public static class LoggerExtensions
}
+
+
+
+
+
diff --git a/src/NSExt/Extensions/LongExtensions.cs b/src/NSExt/Extensions/LongExtensions.cs
index 1b9e7a5..088486f 100644
--- a/src/NSExt/Extensions/LongExtensions.cs
+++ b/src/NSExt/Extensions/LongExtensions.cs
@@ -28,3 +28,8 @@ public static class LongExtensions
+
+
+
+
+
diff --git a/src/NSExt/Extensions/ObjectExtensions.cs b/src/NSExt/Extensions/ObjectExtensions.cs
index fa7c23f..6e865f6 100644
--- a/src/NSExt/Extensions/ObjectExtensions.cs
+++ b/src/NSExt/Extensions/ObjectExtensions.cs
@@ -19,3 +19,8 @@ public static class ObjectExtensions
});
}
}
+
+
+
+
+
diff --git a/src/NSExt/Extensions/StreamExtensions.cs b/src/NSExt/Extensions/StreamExtensions.cs
new file mode 100644
index 0000000..273580c
--- /dev/null
+++ b/src/NSExt/Extensions/StreamExtensions.cs
@@ -0,0 +1,26 @@
+namespace NSExt.Extensions;
+
+public static class StreamExtensions
+{
+ public static long FirstByteIndex(this Stream me, byte[] findBytes)
+ {
+ int data;
+ while ((data = me.ReadByte()) != -1)
+ if (findBytes.Contains((byte)data))
+ return me.Position;
+
+ return -1;
+ }
+
+ public static bool IsTextStream(this Stream me)
+ {
+ return me.FirstByteIndex(new byte[] {
+ 0x00,
+ 0xff
+ }) < 0;
+ }
+}
+
+
+
+
diff --git a/src/NSExt/Extensions/StringExtensions.cs b/src/NSExt/Extensions/StringExtensions.cs
index 9201f7d..6a54ac0 100644
--- a/src/NSExt/Extensions/StringExtensions.cs
+++ b/src/NSExt/Extensions/StringExtensions.cs
@@ -11,6 +11,21 @@ public static class StringExtensions
private static readonly JsonSerializerOptions _DEFAULT_JSON_SERIALIZER_OPTIONS =
default(JsonSerializerOptions).NewJsonSerializerOptions();
+ ///
+ /// MD5 hmac编码
+ ///
+ /// 字符串
+ /// 密钥
+ /// 字符串使用的编码
+ /// hash摘要的16进制文本形式(无连字符小写)
+ private static string Md5Hmac(this string me, string key, Encoding e)
+ {
+ using var md5Hmac = new HMACMD5(e.GetBytes(key));
+ return BitConverter.ToString(md5Hmac.ComputeHash(e.GetBytes(me)))
+ .Replace("-", string.Empty)
+ .ToLower(CultureInfo.CurrentCulture);
+ }
+
///
/// aes加密
///
@@ -554,19 +569,8 @@ public static class StringExtensions
{
return Uri.UnescapeDataString(me);
}
+}
+
+
+
- ///
- /// MD5 hmac编码
- ///
- /// 字符串
- /// 密钥
- /// 字符串使用的编码
- /// hash摘要的16进制文本形式(无连字符小写)
- private static string Md5Hmac(this string me, string key, Encoding e)
- {
- using var md5Hmac = new HMACMD5(e.GetBytes(key));
- return BitConverter.ToString(md5Hmac.ComputeHash(e.GetBytes(me)))
- .Replace("-", string.Empty)
- .ToLower(CultureInfo.CurrentCulture);
- }
-}
\ No newline at end of file
diff --git a/src/NSExt/Extensions/TypeExtensions.cs b/src/NSExt/Extensions/TypeExtensions.cs
index a0e43d9..19d64d1 100644
--- a/src/NSExt/Extensions/TypeExtensions.cs
+++ b/src/NSExt/Extensions/TypeExtensions.cs
@@ -16,4 +16,8 @@ public static class TypeExtensions
.SelectMany(interfaceType => interfaceType.GetCustomAttributes(attributeType, true)))
.Cast();
}
-}
\ No newline at end of file
+}
+
+
+
+
diff --git a/src/NSExt/Extensions/UriExtensions.cs b/src/NSExt/Extensions/UriExtensions.cs
index 5bf932f..ef50231 100644
--- a/src/NSExt/Extensions/UriExtensions.cs
+++ b/src/NSExt/Extensions/UriExtensions.cs
@@ -15,3 +15,9 @@ public static class UriExtensions
+
+
+
+
+
+
diff --git a/src/NSExt/GlobalUsings.cs b/src/NSExt/GlobalUsings.cs
index 385788a..acbc150 100644
--- a/src/NSExt/GlobalUsings.cs
+++ b/src/NSExt/GlobalUsings.cs
@@ -6,4 +6,4 @@ global using System.Globalization;
global using System.Text;
global using System.Text.RegularExpressions;
global using System.Web;
-global using System.ComponentModel;
\ No newline at end of file
+global using System.ComponentModel;
diff --git a/src/NSExt/NSExt.csproj b/src/NSExt/NSExt.csproj
index 90f3251..ac83bf8 100644
--- a/src/NSExt/NSExt.csproj
+++ b/src/NSExt/NSExt.csproj
@@ -3,7 +3,7 @@
net6.0;net7.0
enable
- 1.0.2
+ 1.0.3