/// <summary> /// Преобразует строку в значение типа ДвоичныеДанные с учетом кодировки текста. /// </summary> /// <param name="str">Строка, которую требуется преобразовать в ДвоичныеДанные.</param> /// <param name="encoding">Кодировка текста</param> /// <param name="addBOM">Определяет, будет ли добавлена метка порядка байт (BOM) кодировки текста в начало данных.</param> /// <returns>Тип: ДвоичныеДанные.</returns> public static ДвоичныеДанные ПолучитьДвоичныеДанныеИзСтроки(string str, string encoding = null, bool addBOM = false) { // Получаем кодировку // Из синтаксис помощника если кодировка не задана используем UTF8 System.Text.Encoding enc = System.Text.Encoding.UTF8; if (encoding != null) { enc = КодировкаТекста.GetEncoding(encoding, addBOM); } return(new ДвоичныеДанные(enc.GetBytes(str))); }
// ToDo: ПолучитьБуферДвоичныхДанныхИзСтроки public static string ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные data, string encoding = null) { // Получаем кодировку // Из синтаксис помощника если кодировка не задана используем UTF8 System.Text.Encoding enc = System.Text.Encoding.UTF8; if (encoding != null) { enc = КодировкаТекста.GetEncoding(encoding); } return(enc.GetString(data.Buffer)); }
private void OpenStream(IStreamWrapper streamObj, string encoding = null, string lineDelimiter = "\n", string eolDelimiter = null) { TextReader imReader; if (encoding == null) { imReader = FileOpener.OpenReader(streamObj.GetUnderlyingStream()); } else { var enc = КодировкаТекста.GetEncoding(encoding); imReader = FileOpener.OpenReader(streamObj.GetUnderlyingStream(), enc); } _reader = GetCustomLineFeedReader(imReader, lineDelimiter, eolDelimiter, AnalyzeDefaultLineFeed); }
private StreamWriter GetDefaultWriter(string path, string encoding) { StreamWriter writer; if (encoding == null) { writer = FileOpener.OpenWriter(path, new UTF8Encoding(true)); } else { writer = FileOpener.OpenWriter(path, КодировкаТекста.GetEncoding(encoding)); } return(writer); }
private StreamReader GetDefaultReader(string path, string encoding) { StreamReader reader; if (encoding == null) { reader = FileOpener.OpenReader(path); } else { reader = FileOpener.OpenReader(path, КодировкаТекста.GetEncoding(encoding)); } return(reader); }
private void OpenFile(string path, string encoding = null, string lineDelimiter = "\n", string eolDelimiter = null, bool?monopoly = null) { TextReader imReader; var shareMode = (monopoly ?? true) ? FileShare.None : FileShare.ReadWrite; if (encoding == null) { imReader = FileOpener.OpenReader(path, shareMode); } else { var enc = КодировкаТекста.GetEncoding(encoding); imReader = FileOpener.OpenReader(path, shareMode, enc); } _reader = GetCustomLineFeedReader(imReader, lineDelimiter, eolDelimiter, AnalyzeDefaultLineFeed); }
public static Процесс Новый(string cmdLine, string currentDir = null, bool redirectOutput = false, bool redirectInput = false, string encoding = null, Соответствие env = null) { var sInfo = PrepareProcessStartupInfo(cmdLine, currentDir); sInfo.UseShellExecute = false; if (redirectInput) { sInfo.RedirectStandardInput = true; } if (redirectOutput) { sInfo.RedirectStandardOutput = true; sInfo.RedirectStandardError = true; } if (encoding != null) { var enc = КодировкаТекста.GetEncoding(encoding); sInfo.StandardOutputEncoding = enc; sInfo.StandardErrorEncoding = enc; } //if (env != null) //{ // var source = env.Select(x => new // { // Key = x.Key.AsString(), // Value = x.Value.AsString() // }).Where(x => !string.IsNullOrWhiteSpace(x.Key)); // foreach (var kv in source) // { // sInfo.EnvironmentVariables[kv.Key] = kv.Value; // } //} var p = new System.Diagnostics.Process(); p.StartInfo = sInfo; return(new Процесс(p, encoding)); }
/// <summary> /// Кодирует строку для передачи в URL (urlencode) /// </summary> /// <param name="sourceString"></param> /// <param name="codeType"></param> /// <param name="encoding"></param> public static string КодироватьСтроку(string sourceString, СпособКодированияСтроки codeType, string encoding = null) { Encoding enc; if (encoding != null) { enc = КодировкаТекста.GetEncoding(encoding); } else { enc = Encoding.UTF8; } if (codeType == СпособКодированияСтроки.КодировкаURL) { return(EncodeStringImpl(sourceString, enc, false)); } else { return(EncodeStringImpl(sourceString, enc, true)); } }