Process controll characters (ENQ, ...)

Hello every one,
I am working on a little project where I try to communicate with an industrial device via RS-485 (no Modbus).
For this purpose I have an Arduino Mega 2560 and an MAX485 Device connected as shown in Modbus (RS-485) Using Arduino - Arduino Project Hub for half duplex mode.

const int EnTxPin = 8;    // Pin to switch between Transmitter (HIGH) and Receiver (LOW)

void setup() {

// Initialize serial communication

// Set Pinmode of Tx-Pin to output
pinMode(EnTxPin, OUTPUT);

// Give a hint what is happening via serial monitor 

// Send a Command to the devide via RS-485
SendCommandToDevice("ENQ", "00FF001");

// Receive a Command from the devide via RS-485
String Test;
Test = ReceiveDataFromDevice();

// Give a hint what is happening via serial monitor 

void loop() {

void SerialInit(){
   // Use Serial1 for RS-485 Communication (Arduino Mega Pin Tx1 and Rx1)
   Serial1.begin(19200,SERIAL_8E2); // baud rate: 19200, character set: 8bit, parity: even, stop bits: 2 
   Serial1.setTimeout(1000);         // Set serial timeout 1s
   // Use Serial for standard serial monitor on the PC where the proram is developed

void SendCommandToDevice(String control_code, String command){
  char szTx[0x10];        // Send buffer
  char szCommand[0x10];   // Command
  char szCommandTmp[10]; //
  int nSum;               // For sum code calculation
  int nTx;                // For buffer size storing
  int i;

  // Set Arduino in transmission mode concerning the RS-485 cmommunication with the inverter
  digitalWrite(EnTxPin, HIGH);
  // Write Command in szCommand
  Serial.println("Processing the command ...");
  command.toCharArray(szCommandTmp, sizeof(szCommandTmp));

  // Calculate length of szCommand  
  // Generate sum code
  Serial.println("Calculating sum code ...");
  nSum=0;                            // Initialization of sum data
       nSum +=szCommand[i];          // Calculates sum code
       nSum &=(0xff);                // Masks data

  // Generate send data
  Serial.println("Preparing send data ...");
  memset(szTx,0, sizeof(szTx));       // Initialization of send buffer
                                      // Control code + send data + sum code + CR
  nTx =1+nTx+3;                       // Number of control code + number of send data + number of sum code + number of CR

  // Send data
  Serial.println("Sending data ...");
  Serial1.flush();                    // Waits for the transmission of outgoing serial data to complete. 

String ReceiveDataFromDevice(){
  char szRx[0x10];        // Receive buffer
  int nRx;                // Buffer size
  int i;
  // Set Arduino in receiving mode concerning the RS-485 cmommunication with the inverter
  digitalWrite(EnTxPin, LOW);
  // Determine buffer size
  // Initialze receive buffer
  memset(szRx,0, sizeof(szRx));

  // Read data from serial port
  Serial.println("Reading data from serial port ...");  

  // Show received data
  Serial.print("The answer of the inverter is: ");  
    // if (szRx[i] == "\6")
    // Serial.print("ACK");
    Serial.print(szRx[i]);  // Console output of received data. Displays ASCII code in hex. Displays 30 when "0".

String ConvertControlCode(String control_code){
if (control_code == "STX") {
    Serial.println("Using Control Code STX.");
    return "\2"; }
else if(control_code == "ETX") {
    Serial.println("Using Control Code ETX.");
    return "\3"; }
else if(control_code == "ENQ") {
    Serial.println("Using Control Code ENQ.");
    return "\5"; }
else if(control_code == "ACK") {
    Serial.println("Using Control Code ACK.");
    return "\6"; }
else if(control_code == "LF") {
    Serial.println("Using Control Code LF.");
    return "\10"; }
else if(control_code == "CR") {
    Serial.println("Using Control Code CR.");
    return "\13"; }
else if(control_code == "NAK") {
    Serial.println("Using Control Code NAK.");
    return "\21"; }
    Serial.println("Control Code wrong!");
    return "";}

Leads to this output on the serial monitor:

13:52:21.175 -> 		Z_SQARE_Start
13:52:21.175 -> Processing the command ...
13:52:21.208 -> Calculating sum code ...
13:52:21.242 -> Preparing send data ...
13:52:21.276 -> Using Control Code CR.
13:52:21.276 -> Using Control Code ENQ.
13:52:21.309 -> Sending data ...
13:52:21.343 -> Reading data from serial port ...
13:52:21.377 -> The answer of the device is: _SQARE_
13:52:21.411 -> 

where “SQARE” is a little sqare symbol.
Most interesting for me is the answer of the device (13:52:21.377). Just a square. This is not surprising since the answer I expected from the device is the control character ACK and since control characters are not printable the square seems ok at the first glance.
However, to be sure that everything is ok I want to know that the squre really originate from ACK and not anything else and so I tried to uncomment

    // if (szRx[i] == "\6")
    // Serial.print("ACK");

where I compare the received data with the decimal (or hexadecimal) ASCII code of the ACK control character.
Unfortunately this leads to the following

...\test.ino: In function 'String ReceiveDataFromDevice()':
...\test.ino:107:21: warning: ISO C++ forbids comparison between pointer and integer [-fpermissive]
      if (szRx[i] == "\6")

So I think I basically missunderstood some variable types and how to convert them. Maybe the right cast from one variable type to an other would help me but I don’t know which. Or did I make another general mistake when trying to understand the Problem? Or does anyone have a differnt approach to make these invisible control characters visible?
I ould be very thankfull for any provided help.

Wrong quotes:

  // if (szRx[i] == '\6')
    // Serial.print("ACK");

Just compare the characters to their hex values:

#define ACK        0x06
if (szRx[i] == ACK) ...