RFID-RC522 Only reading 4 characters correctly

Recently I have been working on a project using NFC, I have run into a problem, it only successfully reads 4 characters and the rest are incorrect. The code I have written so far is:

#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN         9          // Configurable, see typical pin layout above
#define SS_PIN          10         // Configurable, see typical pin layout above

MFRC522 mfrc522(SS_PIN, RST_PIN);

MFRC522::MIFARE_Key key;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  SPI.begin();
  mfrc522.PCD_Init();

  for (int i = 0; i < 6; i++) 
  {
    key.keyByte[i] = 0xFF;
  }
}

void loop() {
  // put your main code here, to run repeatedly:
  if (!mfrc522.PICC_IsNewCardPresent()) return;
  if (!mfrc522.PICC_ReadCardSerial()) return;

  byte len = 64;
  byte buffer[64];
  byte block = 4;

  mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, 4, &key, &(mfrc522.uid));
  
  MFRC522::StatusCode status = mfrc522.MIFARE_Read(4, buffer, &len);
  if (status != MFRC522::STATUS_OK) {
    Serial.print(F("Reading failed: "));
    Serial.println(mfrc522.GetStatusCodeName(status));
    return;
  }
  
  bool print = false;
  
  for (uint8_t i = 0; i < 64; i++) 
  {
    
    if (buffer[i] == 0x7D) break;

    if (buffer[i] == 0x7B) 
    { 
      print = true;
      continue;
    }
    
    
    if (print == true) Serial.write(buffer[i]);
  }


  //TODO move read to function to make code neater
  
  Serial.write("\n");

  delay(1000);

  mfrc522.PICC_HaltA();
  mfrc522.PCD_StopCrypto1();
}

The library I am using is the MFRC522 library by Miguel Balboa

The Information I have written to the card is the following:
Record 0: {Anthony}

When read I get the output: Anthp⸮⸮

Thanks In advance