All methods take a string as an input. While raw data could. be base64 encoded. There are applications where barcodes contain a byte array. To the extent that the barcode protocol permits it, it should be possible to have a method that takes a byte array as an input and encodes raw binary data.