What I see is that the data is read from i=0 to i=15 (16 bytes). Each byte is then written to the buffer.
From my own experiments I created some variables (a,b,c,d,e,f,g,h,j,k,l,m,p,q,r) and wrote each byte of i to a consecutive variables, effectively splitting the 16 bytes up into 16 individual values. These values turned out to be decimal values.
I was then able to do the comparison I wanted. it is VERY messy right now but it works. /there must be an easier way to get the data out of the buffer but as an excellent teacher I'm sure you will tease it out of me by making me think hard 
#include <SPI.h>
#include <deprecated.h>
#include <MFRC522.h>
#include <MFRC522Extended.h>
#include <require_cpp11.h>
/* mifare ultralight example (25-02-2018)
*
* RFID-RC522 (SPI connexion)
*
* CARD RC522 Arduino (UNO)
* SDA ----------- 10 (Configurable, see SS_PIN constant)
* SCK ----------- 13
* MOSI ----------- 11
* MISO ----------- 12
* IRQ -----------
* GND ----------- GND
* RST ----------- 9 (onfigurable, see RST_PIN constant)
* 3.3V ----------- 3.3V
*
*/
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
int BuzzerPin = 7;
int x;
int a;
int b;
int c;
int d;
int e;
int f;
int g;
int h;
int j;
int k;
int l;
int m;
int o;
int p;
int q;
int r;
int n;
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance
MFRC522::StatusCode status; //variable to get card status
byte buffer[18]; //data transfer buffer (16+2 bytes data+CRC)
byte size = sizeof(buffer);
uint8_t pageAddr = 0x06; //In this example we will write/read 16 bytes (page 6,7,8 and 9).
//Ultraligth mem = 16 pages. 4 bytes per page.
//Pages 0 to 4 are for special functions.
void setup()
{
pinMode(BuzzerPin, OUTPUT); // sets the digital pin as output
Serial.begin(9600); // Initialize serial communications with the PC
SPI.begin(); // Init SPI bus
mfrc522.PCD_Init(); // Init MFRC522 card
Serial.println(F("Sketch has been started!"));
//memcpy(buffer,"Jim Hatton ;-)",16);
}
void loop() {
//Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent())
return;
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial())
return;
byte block;
byte len;
byte buffer2;
// Read data ***************************************************
Serial.println(F("Reading data ... "));
//data in 4 block is readed at once.
status = (MFRC522::StatusCode) mfrc522.MIFARE_Read(pageAddr, buffer, &size);
//serial,print buffer;
if (status != MFRC522::STATUS_OK) {
Serial.print(F("MIFARE_Read() failed: "));
BadCard();
Serial.println(mfrc522.GetStatusCodeName(status));
return;
}
Serial.print(F("Readed data: "));
//Dump a byte array to Serial
for (byte i = 0; i < 15; i++) {
Serial.write(buffer[i]);
Serial.println();
//Serial.print(buffer[i]);
//Serial.println();
}
{
a = buffer[0];
Serial.print (a);
Serial.print (" ; ");
b = buffer[1];
Serial.print (b);
Serial.print (" ; ");
c = buffer[2];
Serial.print (c);
Serial.print (" ; ");
d = buffer[3];
Serial.print (d);
Serial.print (" ; ");
e = buffer[4];
Serial.print (e);
Serial.print (" ; ");
f = buffer[5];
Serial.print (f);
Serial.print (" ; ");
g = buffer[6];
Serial.print (g);
Serial.print (" ; ");
h = buffer[7];
Serial.print (h);
Serial.print (" ; ");
j = buffer[8];
Serial.print (j);
Serial.print (" ; ");
k = buffer[9];
Serial.print (k);
Serial.print (" ; ");
l = buffer[10];
Serial.print (l);
Serial.print (" ; ");
m = buffer[11];
Serial.print (m);
Serial.print (" ; ");
o = buffer[12];
Serial.print (o);
Serial.print (" ; ");
p = buffer[13];
Serial.print (p);
Serial.print (" ; ");
q = buffer[14];
Serial.print (q);
Serial.print (" ; ");
r = buffer[15];
Serial.print (r);
if (b == 53){
buzzfive();
}
else {
CardDetected();
}
}
{
//Serial.print(F("Block ")); Serial.print(block); Serial.print(F(":"));
}
Serial.println();
mfrc522.PICC_HaltA();
}
void CardDetected(){
digitalWrite(BuzzerPin, HIGH); // sets the LED on
delay(50); // waits for a second
digitalWrite(BuzzerPin, LOW); // sets the LED off
delay(50); // waits for a second
}
void buzzone(){
digitalWrite(BuzzerPin, HIGH); // sets the LED on
delay(100); // waits for a second
digitalWrite(BuzzerPin, LOW); // sets the LED off
delay(100); // waits for a second
}
void buzztwo(){
digitalWrite(BuzzerPin, HIGH); // sets the LED on
delay(100); // waits for a second
digitalWrite(BuzzerPin, LOW); // sets the LED off
delay(100); // waits for a second
digitalWrite(BuzzerPin, HIGH); // sets the LED on
delay(100); // waits for a second
digitalWrite(BuzzerPin, LOW); // sets the LED off
}
void buzzthree(){
digitalWrite(BuzzerPin, HIGH); // sets the LED on
delay(100); // waits for a second
digitalWrite(BuzzerPin, LOW); // sets the LED off
delay(100); // waits for a second
digitalWrite(BuzzerPin, HIGH); // sets the LED on
delay(100); // waits for a second
digitalWrite(BuzzerPin, LOW); // sets the LED off
delay(100); // waits for a second
digitalWrite(BuzzerPin, HIGH); // sets the LED on
delay(100); // waits for a second
digitalWrite(BuzzerPin, LOW); // sets the LED off
}