当前位置: 首页>>代码示例>>C#>>正文


C# Encoding.ShouldNotBeNull方法代码示例

本文整理汇总了C#中System.Text.Encoding.ShouldNotBeNull方法的典型用法代码示例。如果您正苦于以下问题:C# Encoding.ShouldNotBeNull方法的具体用法?C# Encoding.ShouldNotBeNull怎么用?C# Encoding.ShouldNotBeNull使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Text.Encoding的用法示例。


在下文中一共展示了Encoding.ShouldNotBeNull方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ToStream

        /// <summary>
        /// 문자열을 스트림 (<see cref="System.IO.MemoryStream"/>)의 인스턴스로 변환한다.
        /// </summary>												
        /// <param name="s">대상 문자열</param>
        /// <param name="enc">인코딩 형식</param>
        /// <returns>변환된 Stream 인스턴스 객체</returns>
        /// <remarks>사용하고 난 Stream 인스턴스 객체는 Close()를 호출하여 메모리에서 제거해야 한다.</remarks>
        public static Stream ToStream(this string s, Encoding enc) {
            enc.ShouldNotBeNull("enc");

            if(s.IsNull())
                return new MemoryStream();

            var stream = new MemoryStream(s.Length * 2);
            var writer = new StreamWriter(stream, enc, 1024);

            writer.Write(s);
            writer.Flush();
            stream.SetStreamPosition();

            return stream;
        }
开发者ID:debop,项目名称:NFramework,代码行数:22,代码来源:StringTool.Convert.cs

示例2: ReadAllText

        /// <summary>
        /// 지정한 경로의 파일 내용을 비동기적으로 모두 읽어 문자열로 반환하는 Task를 빌드합니다.
        /// </summary>
        /// <param name="path">읽을 파일 전체경로</param>
        /// <param name="encoding">파일 내용 인코딩 방식</param>
        /// <returns>파일 내용을 문자열로 반환하는 작업</returns>
        public static Task<string> ReadAllText(string path, Encoding encoding = null) {
            path.ShouldNotBeWhiteSpace("path");
            encoding.ShouldNotBeNull("encoding");

            encoding = encoding ?? Encoding.UTF8;

            if(IsDebugEnabled)
                log.Debug("파일 내용을 비동기적으로 모두 읽어, 반환하는 작업을 빌드합니다. path=[{0}], encoding=[{1}]", path, encoding);

            var fileStream = OpenRead(path);
            fileStream.ShouldNotBeNull("fileStream");

            var builder = new StringBuilder();

            // 실제 파일 내용을 읽는 작업
            var asyncRead = fileStream.ReadBufferAsync(BufferSize,
                                                       (buffer, count) => builder.Append(encoding.GetString(buffer, 0, count)));

            // 파일을 비동기적으로 다 읽고 나서, 파일 Stream을 닫는 후처리 작업을 지정하고 반환한다.
            //
            var closedFileTask =
                asyncRead.ContinueWith(antecedent => {
                                           if(IsDebugEnabled)
                                               log.Debug("비동기적으로 파일을 모두 읽었습니다... FileStream을 닫습니다... file=[{0}]", path);

                                           var ex = antecedent.Exception;

                                           With.TryAction(() => {
                                                              if(fileStream != null)
                                                                  fileStream.Close();
                                                          });

                                           if(ex != null)
                                               throw ex;

                                           return builder.ToString();
                                       },
                                       TaskContinuationOptions.ExecuteSynchronously);

            return closedFileTask;
        }
开发者ID:debop,项目名称:NFramework,代码行数:47,代码来源:FileAsync.cs

示例3: Base64Encode

        /// <summary>
        /// 일반 문자열을 Base64 문자열로 만든다.
        /// </summary>
        /// <param name="s"></param>
        /// <param name="enc"></param>
        /// <returns></returns>
        public static string Base64Encode(this string s, Encoding enc) {
            if(IsEmpty(s))
                return string.Empty;

            enc.ShouldNotBeNull("enc");

            return Base64Encode(ToBytes(s, enc));
        }
开发者ID:debop,项目名称:NFramework,代码行数:14,代码来源:StringTool.Encode.cs

示例4: ToBytes

 /// <summary>
 /// 문자열을 주어진 인코딩 방식을 이용하여 Byte Array로 변환한다.
 /// </summary>
 /// <param name="s">변환할 문자열</param>
 /// <param name="enc">인코딩 방식</param>
 /// <returns>변환된 바이트 배열</returns>
 public static byte[] ToBytes(this string s, Encoding enc) {
     enc.ShouldNotBeNull("enc");
     return enc.GetBytes(s);
 }
开发者ID:debop,项目名称:NFramework,代码行数:10,代码来源:StringTool.Convert.cs

示例5: ToTextUnsafe

        public static string ToTextUnsafe(this sbyte[] bytes, Encoding encoding) {
            bytes.ShouldNotBeNull("bytes");
            encoding.ShouldNotBeNull("encoding");

            if(bytes.Length == 0)
                return string.Empty;

            unsafe {
                fixed(sbyte* fixedPtr = bytes)
                    return new string(fixedPtr, 0, bytes.Length, encoding);
            }
        }
开发者ID:debop,项目名称:NFramework,代码行数:12,代码来源:StringTool.Convert.cs

示例6: ToText

        /// <summary>
        /// 지정된 인코딩 방식으로 주어진 범위의 Byte 배열을 문자열로 변환한다.
        /// </summary>
        /// <param name="bytes">원본 바이트 배열</param>
        /// <param name="enc">인코딩 방식</param>
        /// <param name="index">시작 위치</param>
        /// <param name="count">변환할 갯수</param>
        /// <returns>변환된 문자열</returns>
        public static string ToText(this byte[] bytes, int index, int count, Encoding enc) {
            if(bytes == null || bytes.Length == 0)
                return string.Empty;

            enc.ShouldNotBeNull("enc");

            return enc.GetString(bytes, index, count).TrimEnd(NullTerminatorChar);
        }
开发者ID:debop,项目名称:NFramework,代码行数:16,代码来源:StringTool.Convert.cs


注:本文中的System.Text.Encoding.ShouldNotBeNull方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。