Определите кодирование строки в C#

Функция для сна, использующая синхронный вызов, чтобы ОС могла это сделать. Используйте любую команду OS Sleep вам нравится. Это не занято ожиданием в смысле использования процессорного времени.

Я выбрал пинг по несуществующему адресу.

const cp = require('child_process');

function sleep(ms)
{ 
    try{cp.execSync('ping 192.0.2.0 -n 1 -w '+ms);}
    catch(err){}
}

Тест для проверки работоспособности

console.log(Date.now());
console.log(Date.now());
sleep(10000);
console.log(Date.now());
console.log(Date.now());

И некоторые результаты теста.

1491575275136
1491575275157

(и через 10 секунд)

1491575285075
1491575285076
119
задан yoozer8 20 May 2013 в 14:54
поделиться

2 ответа

Ознакомьтесь с Utf8Checker, это простой класс, который делает именно это в чистом управляемом коде. http: //utf8checker.codeplex.com

Примечание: как уже указывалось, «определить кодировку» имеет смысл только для байтовых потоков. Если у вас есть строка, она уже закодирована кем-то по пути, кто уже знал или угадывал кодировку, чтобы получить строку в первую очередь.

31
ответ дан 24 November 2019 в 01:51
поделиться

Это зависит от того, откуда пришла строка. Строка .NET - это Unicode (UTF-16). Единственный способ быть другим, если вы, скажем, считываете данные из базы данных в массив байтов.

Эта статья CodeProject может быть интересной: Определить кодировку для входящего и исходящего текста

Джона Скита Строки в C # и .NET - отличное объяснение строк .NET.

31
ответ дан 24 November 2019 в 01:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: