Its RAM. it looks like hex numbers.
Same thing in dat files, I think. It would be waste of space if stored as text.
Nevertheless, some things (the generated beasts, interactions, instruments) are stored as text in world.dat (at least their raws stored as text. Not sure if game actually parses those).
Set [COMPRESSED_SAVES:NO] in data/init/init.txt to disable compression and be able to read those relative easy.
DFHack adds a way to look at memory without getting crazy by naming things and allowing to access them by their names rather than addresses.
<struct-type type-name='unit_preference'>
<enum base-type='int16_t' name="type">
<enum-item name='LikeMaterial'/>
<enum-item name='LikeCreature'/>
<enum-item name='LikeFood'/>
<enum-item name='HateCreature'/>
<enum-item name='LikeItem'/>
<enum-item name='LikePlant'/>
<enum-item name='LikeTree' comment='holdover from 40d and earlier'/>
<enum-item name='LikeColor'/>
<enum-item name='LikeShape'/>
<enum-item name='LikePoeticForm'/>
<enum-item name='LikeMusicalForm'/>
<enum-item name='LikeDanceForm'/>
</enum>
<code-helper name='describe'>$.type</code-helper>
<compound is-union='true'>
<enum base-type='int16_t' name="item_type" type-name='item_type'/>
<int16_t name='creature_id' ref-target='creature_raw'/>
<int16_t name='color_id' ref-target='descriptor_color'/>
<int16_t name='shape_id' ref-target='descriptor_shape'/>
<int16_t name='plant_id' ref-target='plant_raw'/>
<int32_t name='poetic_form_id' ref-target='poetic_form'/>
<int32_t name='musical_form_id' ref-target='musical_form'/>
<int32_t name='dance_form_id' ref-target='dance_form'/>
</compound>
<int32_t name="item_subtype" refers-to='(item-subtype-target $$._parent.item_type $)'/>
<int32_t name='mattype' ref-target='material' aux-value='$$.matindex'/>
<int32_t name='matindex'/>
<enum type-name='matter_state' base-type='int16_t' name='mat_state'/>
<bool name='active'/>
<uint32_t name='prefstring_seed' comment='feeds into a simple RNG to choose which prefstring to use'/>
</struct-type>