You can check and see if balanceOf(msg.sender, GOLD) returns 2, however, it would be unable to tell if the tokens are either yaaar 1 or yaaar 2 since they are in the data field.
As describe in the code and in the documentation, the data field is used for the onERC1155Received acceptance check. This means that if the receiver is NOT a smart contract, this is just ignored.
If the target (token receiver) is a smart contract, then it must implement the IERC1155Receiver interface. This is what will receive and process the data.
Simply put:
The data is not stored onchain by the token contract
There is no generic format for this data
The data format and usage depends entirely on the receiving contract.
Putting funny message here will in most cases be useless, and in some case cause a revert.