преобразовать строку октета SNMP в текстовое соглашение в golang
Я использую пакет gosnmp для получения значений SNMP с узла. Возвращаемые значения представлены в шестнадцатеричной строке. Как преобразовать его в строку отображения, используя подсказку по отображению и текстовое соглашение, указанное в MIB.
Доступен синтаксический анализатор MIB, но они будут выполнять преобразование OID в текстовое имя, что не является моим требованием.
например, https://tools.ietf.org/html/rfc2579 определяет
PhysAddress ::= TEXTUAL-CONVENTION
DISPLAY-HINT "1x:"
STATUS current
DESCRIPTION
"Represents media- or physical-level addresses."
SYNTAX OCTET STRING
Теперь, если мы конвертируем шестнадцатеричную строку в ascii для
ifPhysicalAddress
это будет в форме
XXXXXXXXXXXX
но если мы применим DISPLAY-HINT, он станет
XX:XX:XX:XX:XX:XX
Мы можем делать это от случая к случаю, но есть ли библиотека или что-то, что считывает MIB и возвращает строку отображения.