Как преобразовать символ Unicode в его эквивалентный ASCII

SLURM требуется некоторое время для обработки списка заданий и определения того, какое задание должно выполняться следующим, особенно, если установлен планировщик обратной засыпки и в очереди много заданий. Вы не теряете одну минуту, чтобы запланировать работу из-за использования массива заданий, это SLURM, для решения которой требуется одна минута, и такая же минута понадобится для любой другой работы любого другого пользователя, с массивами заданий или без них. [ 110]

При использовании вашего подхода ваши задания также теряют приоритет: каждый раз, когда одно из ваших заданий заканчивается, вы запускаете новое, и это новое задание будет последним в очереди. Кроме того, SLURM придется управлять несколькими сотнями независимых заданий, а не только теми, на которые приходится 60000, что вам нужно.

Если вы одиноки в кластере, возможно, нет большой разницы в обоих подходах, но если ваш кластер заполнен, ваш ручной подход даст немного большую нагрузку на SLURM, и ваши задания завершатся намного позже по сравнению с Аппроксимация массива заданий (просто потому, что с массивом заданий, когда массив становится первым в строке, 60000 становятся первыми в строке, по сравнению с последним в строке каждый раз, когда завершается одно из ваших заданий).

12
задан Community 23 May 2017 в 11:48
поделиться

5 ответов

Хорошо, давайте уточним. И csgero и bzlm, на который указывают в правильном направлении.

Из-за ответа blzm я искал Windows 1 252 страницы на Wiki и нашел, что это назвало кодовую страницу. Статья Википедии для Кодовой страницы, которая указала следующее:

Никакой формальный стандарт не существовал для этих 'расширенных наборов символов'; IBM просто назвала варианты кодовыми страницами, поскольку она всегда делала для вариантов кодировки EBCDIC.

Это привело меня к кодовой странице 437:

n совместимые с ASCII кодовые страницы, более низкие 128 символов поддержали свои стандартные значения US-ASCII, и различные страницы (или наборы символов) могли быть сделаны доступными в верхних 128 символах. Компьютеры DOS, созданные для североамериканского рынка, например, использовали кодовую страницу 437, которая включала символы с диакритикой, необходимые для французского, немецкого, и нескольких других европейских языков, а также некоторых графических тянущих строку символов.

Так, кодовая страница 437 была кодовой страницей, которую я называл 'расширенным ASCII', это имело ê как символ 136, таким образом, я искал некоторые другие символы также, и они кажутся правильным.

csgero шел с Кодированием. GetEncoding () подсказка, я использовал его для создания следующего утверждения, которое решает мою проблему:

byte[] bytes = Encoding.GetEncoding(437).GetBytes("ê");
9
ответ дан 2 December 2019 в 21:04
поделиться

Вы не можете использовать кодирование ASCII по умолчанию (Кодирование. ASCII), здесь, но должен создать кодирование соответствующим Кодированием использования кодовой страницы. GetEncoding (...). Вы могли бы попытаться использовать кодовую страницу 1252, которая является надмножеством ISO 8859-1.

3
ответ дан 2 December 2019 в 21:04
поделиться

ASCII не определяет ê; номер 136 прибывает из числа для циркумфлекса в 8-разрядной кодировке, такой как Windows 1252.

Можно ли проверить, что маленький e с циркумфлексом (ê) на самом деле, что, как предполагается, хранится в базе данных Access в этом случае? Возможно, U+02C6 U+0065 является результатом ошибки преобразования, где вход является на самом деле e, сопровождаемым циркумфлексом или чем-то еще полностью. Возможно, Ваша база данных Access имеет поврежденные данные в том смысле, что обозначенное кодирование не соответствует содержанию, в этом случае клиент.NET мог бы неправильно проанализировать данные (использующий неправильный декодер).

Если эта ошибка действительно представлена во время чтения из базы данных, возможно, вставив некоторый код, или параметры конфигурации могли бы помочь.

В Кодовой странице 437 число символов 136 является e с циркумфлексом.

2
ответ дан 2 December 2019 в 21:04
поделиться

Значение 63 является вопросительным знаком, иначе "Я не могу отобразить этот символ в ASCII".

0
ответ дан 2 December 2019 в 21:04
поделиться

Хм … я не уверен, какой символ Вы имеете в виду. Каре (“^\”, ЦИРКУМФЛЕКС) имеет тот же код в ASCII и Unicode (U+005E).

/ РЕДАКТИРОВАНИЕ: Чертовски, мой отказ. 710 (U+02C6) на самом деле ЦИРКУМФЛЕКС БУКВЫ МОДИФИКАТОРА. К сожалению, этот символ не является частью ASCII вообще. Это могло бы быть похожим на нормальное каре, но это - другой символ. Простое преобразование не поможет здесь. Я не уверен если отображение поддержек.NET подобных символов при преобразовании из Unicode. Стоящий исследования, все же.

0
ответ дан 2 December 2019 в 21:04
поделиться
Другие вопросы по тегам:

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