Юлия NetCDF возвращается только Uint8
Я мигрирую из matlab в Джулию. Использование julia v 0.4.2 и пакета NetCDF от Meggart
Я пытаюсь импортировать переменную так же, как я импортирую ее в Matlab:
Tiempo = ncread(Arch,"Times")';
И, если я просматриваю содержимое переменной на Matlab, у меня есть: тип 24x19 char и contents:
Tiempo(1,:) = 2010-03-01_01:00:00
В Юлии, однако, я получаю только:
julia> typeof(Tiempo[1,:])
Array{UInt8,2}
julia> Tiempo[1,:]
1x19 Array{UInt8,2}:
0x32 0x30 0x31 0x30 0x2d 0x30 … 0x3a 0x30 0x30 0x3a 0x30 0x30
И я не знаю, как его использовать или как восстановить полезные данные. Можете ли вы пролить свет на это?
1 ответ
7.8 Литералы байтовых массивов
Другим полезным нестандартным строковым литералом является строковый литерал байтового массива: b"...". Эта форма позволяет использовать строковую нотацию для выражения литеральных байтовых массивов, т. Е. Массивов значений UInt8.....
julia> tiempo=b"2010-03-01_01:00:00"
19-element Array{UInt8,1}:
0x32
0x30
0x31
0x30
0x2d
0x30
0x33
0x2d
0x30
0x31
0x5f
0x30
0x31
0x3a
0x30
0x30
0x3a
0x30
0x30
julia> ASCIIString(tiempo)
"2010-03-01_01:00:00"
Итак, у вас есть литерал байтового массива, и он может быть преобразован в ASCIIString
тип, используя его конструктор с правильными аргументами (например, вектор UInt8
) Также для отправки всех элементов Array{UInt8,2}
подряд может быть одна возможность ASCIIString(Tiempo[1:end])
,