Различие между Обратным порядком байтов и прямым порядком байтов

Как показано в документации к chart.js , здесь есть ссылка на документацию по chart.js , вы должны предоставить набор данных и метку в формате массива.

Попробуйте использовать передачу ienumerable для передачи модели для просмотра, что повлияет на преобразование в массив. Вашему классу должно понравиться это

public class ReportViewModel { 
   public innumerable cData { get; set; } 
   public innumerable

И ваш класс для данных и метки должен быть определен в пространстве имен модели Модель данных:

Public class data{
    Public int value{get;set;}
}

Модель метки

Public class label{
    Public string name{get;set;}
}

И с учетом этого вы должны импортировать модель, которую необходимо передать из контроллера, и вы можете напрямую использовать ее, а используя механизм бритвы, вы можете преобразовать ее также в массив во время выполнения с помощью функции toarray

62
задан Kiran 5 January 2014 в 15:58
поделиться

5 ответов

Обратный порядок байтов (BE) / Прямой порядок байтов (LE) является двумя способами организовать многобайтовые слова. Например, чтобы использование двух байтов представило символ в UTF-16, существует два способа представить символ 0x1234 как строка байтов (0x00-0xFF):

Byte Index:      0  1
---------------------
Big-Endian:     12 34
Little-Endian:  34 12

Чтобы решить, использует ли текст UTF-16BE или UTF-16LE, спецификация рекомендует предварительно ожидать Порядок байтов Mark (BOM) к строке, представляя символ U+FEFF. Так, если первые два байта закодированного текстового файла UTF-16 FE, FF, кодирование является UTF-16BE. Для FF, FE, это - UTF-16LE.

Визуальный пример: слово "Example" в различной кодировке (UTF-16 с BOM):

Byte Index:   0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
------------------------------------------------------------
ASCII:       45 78 61 6d 70 6c 65
UTF-16BE:    FE FF 00 45 00 78 00 61 00 6d 00 70 00 6c 00 65
UTF-16LE:    FF FE 45 00 78 00 61 00 6d 00 70 00 6c 00 65 00

Для получения дополнительной информации прочитайте страницу Wikipedia Порядка байтов и/или UTF-16.

114
ответ дан Ferdinand Beyer 24 November 2019 в 16:37
поделиться

UTF-16 кодирует Unicode в 16-разрядные значения. Большинство современных файловых систем воздействует на 8-разрядные байты. Так, сохранить UTF-16 закодировало файл к диску, например, необходимо решить, какая часть 16-разрядного значения входит в первый байт, и который входит во второй байт.

Википедия имеет более полное объяснение.

7
ответ дан joev 24 November 2019 в 16:37
поделиться

Порядок байтов байта (большой или мало) должен быть указан для того, чтобы Unicode/UTF-16 закодировать, потому что для кодов символов, которые используют больше, чем единственный байт, существует выбор ли к чтению-записи старший значащий байт сначала или в последний раз. Unicode/UTF-16, так как они - кодировка переменной длины (т.е. каждый символ может быть представлен одним, или несколько байтов) требуют, чтобы это было указано. (Обратите внимание однако, что "слова" UTF-8 являются всегда 8-bits/one байтом в длине [хотя символы могут быть несколькими точками], поэтому нет никакой проблемы с порядком байтов.), Если кодер потока байтов, представляющих текст Unicode и декодер, не согласован, какая конвенция используется, неправильный код символа может быть интерпретирован. Поэтому или конвенция порядка байтов известна заранее или чаще всего метка порядка байтов обычно указывается в начале любого текстового файла Unicode / поток, чтобы указать, что whethere порядок с прямым порядком байтов или с обратным порядком байтов используется.

1
ответ дан Noldorin 24 November 2019 в 16:37
поделиться

Ответ Фердинанда (и другие) правильный, но неполный.

Big Endian (BE) / Little Endian (LE) не имеют ничего общего с UTF-16 или UTF-32. Они существовали задолго до Unicode и влияют на то, как байты чисел хранятся в памяти компьютера. Они зависят от процессора.

Если у вас есть число со значением 0x12345678 , то в памяти оно будет представлено как 12 34 56 78 (BE) или 78 56 34 12 (LE).

UTF-16 и UTF-32 представлены в 2, соответственно, 4 байтах, поэтому порядок байтов соответствует порядку, который следует за любым числом на этой платформе.

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

little-endian: adj.

Описывает компьютерную архитектуру, в которой, в пределах данного 16- или 32-битного слова, байты по младшим адресам имеют меньшее значение (слово хранится "младшим концом вперед"). Компьютеры семейств PDP-11 и VAX, микропроцессоры Intel и множество коммуникационного и сетевого оборудования являются little-endian. Этот термин иногда используется для описания упорядочивания единиц, отличных от байтов; чаще всего это биты внутри байта.

big-endian: adj.

[common; из "Путешествий Гулливера" Свифта через знаменитую статью "О священных войнах и призыве к миру" Дэнни Коэна, USC/ISI IEN 137, от 1 апреля 1980 г.]

Описывает компьютерную архитектуру, в которой в данном многобайтовом числовом представлении старший байт имеет младший адрес (слово хранится "big-end-first"). Большинство процессоров, включая семейство IBM 370, PDP-10, семейства микропроцессоров Motorola и большинство различных RISC-процессоров, работают по схеме big-endian. Big-endian порядок байтов также иногда называют сетевым порядком.

---из файла жаргона: http://catb.org/~esr/jargon/html/index.html

4
ответ дан 24 November 2019 в 16:37
поделиться
Другие вопросы по тегам:

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