/// <summary> /// Opens a StreamReader using the specified encoding. /// </summary> /// <param name="stream">The stream.</param> /// <param name="encoding">The encoding.</param> /// <returns>The stream reader</returns> public static StreamReader GetReader(this Stream stream, Encoding encoding) { if (!stream.CanRead) { throw new InvalidOperationException("Stream does not support reading."); } return encoding.IsNull() ? new StreamReader(stream, true) : new StreamReader(stream, encoding); }
/// <summary> /// Base64解密 /// </summary> /// <param name="decryptString">密文</param> /// <param name="encoding">编码</param> /// <returns>明文</returns> public static string Base64Decode(this string decryptString, Encoding encoding = null) { byte[] decbuff = Convert.FromBase64String(decryptString); return (encoding.IsNull() ? System.Text.Encoding.UTF8 : encoding).GetString(decbuff); }
/// <summary> /// 写日志 线程安全 /// </summary> /// <param name="fileName">文件</param> /// <param name="str">消息</param> /// <param name="encoding">编码</param> private static bool WriteForFileStream(string fileName, string str, Encoding encoding = null) { bool _isTrue = false; if (encoding.IsNull()) encoding = Encoding.Default; lock (lockHelper) { using (FileStream fs = FileDirectory.FileExists(fileName) ? File.OpenWrite(fileName) : File.Create(fileName)) { byte[] bt = encoding.IfNull(Encoding.UTF8).GetBytes(str + Environment.NewLine); fs.Seek(0, SeekOrigin.End); fs.Write(bt, 0, bt.Length); _isTrue = true; } } return _isTrue; }
public static string Base64Encode(this string encryptString, Encoding encoding = null) { byte[] encbuff = (encoding.IsNull() ? System.Text.Encoding.UTF8 : encoding).GetBytes(encryptString); return Convert.ToBase64String(encbuff); }
/// <summary> /// 写日志 线程安全 /// </summary> /// <param name="fileName">文件</param> /// <param name="str">消息</param> /// <param name="encoding">编码</param> private static bool WriteForStreamWriter(string fileName, string str, Encoding encoding = null) { bool _isTrue = false; if (encoding.IsNull()) encoding = Encoding.Default; lock (lockHelper) { using (System.IO.StreamWriter f2 = new System.IO.StreamWriter(fileName, true, encoding.IfNull(Encoding.UTF8))) { f2.WriteLine(str); _isTrue = true; } } return _isTrue; }