VISA write uses ASCII code--- Not quite correct. VISA WRITE uses a STRING as the data it sends, but you control what is in the string.
The string can be composed of ASCII text, or binary data, anything you like. You can FLATTEN any structure you want to a string. You can convert an array of bytes to s atring. You can cast anything to a string.
The string can have NULLs in it without problems.