public String readAsciiString(long index) throws IOException {
        StringBuffer buffer = new StringBuffer();
        while (true) {
            byte b = provider.readByte(index++);
            if ((b >= 32) && (b <= 126)) {
                buffer.append((char)b);
            }
            else {
                break;
            }
        }
        return buffer.toString().trim();
    }
Returns a null-terminated Ascii string starting
at <code>index</code>. The end of the string
is denoted by a <code>null</code> character.

@param index the index where the Ascii string begins
@return the Ascii string
@exception IOException if an I/O error occurs
GPL/DMG/src/dmg/java/mobiledevices/dmg/ghidra/GBinaryReader.java