Разница между форматами "ASCII" и "Binary" в PETSc - PullRequest
0 голосов
/ 22 декабря 2010

Я хотел знать, в чем разница между двоичным форматом и форматом ASCII.Дело в том, что мне нужно использовать PETSc для выполнения некоторых манипуляций с матрицами, и все мои матрицы хранятся в текстовых файлах.

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

Есть ли способ конвертировать один формат в другой?

Это элементарный вопрос;подробный ответ действительно поможет мне понять это.

Ответы [ 2 ]

8 голосов
/ 22 декабря 2010

Чтобы ответить на ваш прямой вопрос, разница между ASCII и двоичным является семантикой.

ASCII двоично интерпретируется как текст.Только небольшое подмножество двоичного кода может быть интерпретировано как понятные символы (десятичные 32-126), все остальное является либо специальным символом (таким как перевод строки, системный звонок или что-то еще полностью). Более крупные символы могут быть буквами в других алфавитах.

Вы можете интерпретировать общие двоичные данные как формат ASCII, но если это не текст ASCII, это может для вас ничего не значить.

Как общее правило, если вы открываете свой файл втекстовый редактор (например, блокнот, а не Microsoft Word), и он кажется полностью состоящим из букв или в основном из букв, цифр и пробелов, тогда ваш файл, вероятно, можно безопасно интерпретировать как ASCII.Если вы открываете свой файл в текстовом редакторе, и он кажется шумным, его, вероятно, следует интерпретировать как необработанный двоичный файл.

Я не очень знаком с программой, о которой вы спрашиваете, если бы в вашей ситуации я обращалсядокументация программы, чтобы выяснить, в каком формате должен быть «двоичный» поток данных. Должно быть подробное описание или включенная утилита для генерации ваших двоичных данных.Если вы сами сгенерировали данные, они, вероятно, в формате ASCII.

1 голос
/ 22 декабря 2010

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

Двоичные форматы - это просто необработанные байты любой структуры данных, которую он использует внутри (или формат сериализации).

У вас мало надежд на превращение текста в бинарный без помощи самой программы.

Ищите формат импорта, если он есть у программы.

...