#ifndef _TILE_BASE_ENCODING_DETAIL_HEX_CHARS_H
#define _TILE_BASE_ENCODING_DETAIL_HEX_CHARS_H

#pragma once

#include "tile/base/internal/logging.h"
#include "tile/base/string.h"

#include <array>
#include <limits>

namespace tile {
namespace detail {

struct CharPair {
    char a, b;
};

static constexpr char kHexCharsLower[] = "0123456789abcdef";
static constexpr char kHexCharsUpper[] = "0123456789ABCDEF";

// int AsciiCodeFromCharPair(char a, char b);

int AsciiCodeFromCharPair(char a, char b);

std::pair<char, char> AsciiCodeToCharPair(std::uint8_t value, bool uppercase = true);

}// namespace detail
}// namespace tile

#endif// _TILE_BASE_ENCODING_DETAIL_HEX_CHARS_H
