protected Transferable copyBytes(ClipboardType copyType, TaskMonitor monitor) {

		if (copyType == BYTE_STRING_TYPE) {
			String byteString = copyBytesAsString(getSelectedAddresses(), true, monitor);
			return new ByteStringTransferable(byteString);
		}
		else if (copyType == BYTE_STRING_NO_SPACE_TYPE) {
			String byteString = copyBytesAsString(getSelectedAddresses(), false, monitor);
			return new ByteStringTransferable(byteString);
		}
		else if (copyType == PYTHON_BYTE_STRING_TYPE) {
			String prefix = "\\x";
			String bs = copyBytesAsString(getSelectedAddresses(), prefix, monitor);
			String fixed = "b'" + prefix + bs + "'";
			return new ProgrammingByteStringTransferable(fixed, copyType.getFlavor());
		}
		else if (copyType == PYTHON_LIST_TYPE) {
			String prefix = "0x";
			String bs = copyBytesAsString(getSelectedAddresses(), ", " + prefix, monitor);
			String fixed = "[ " + prefix + bs + " ]";
			return new ProgrammingByteStringTransferable(fixed, copyType.getFlavor());
		}
		else if (copyType == CPP_BYTE_ARRAY_TYPE) {
			String prefix = "0x";
			String bs = copyBytesAsString(getSelectedAddresses(), ", " + prefix, monitor);
			String byteString = "{ " + prefix + bs + " }";
			return new ProgrammingByteStringTransferable(byteString, copyType.getFlavor());
		}

		return null;
	}
Pattern to recognize bytes that have been encoded during a copy operation using one of this
class's programming copy types
Ghidra/Features/Base/src/main/java/ghidra/app/util/ByteCopier.java