UTF8

UTF8 STRING (ISO/IEC 10646, encoded as UTF-8 per RFC 3629).

isValid reports whether rawValue is well-formed UTF-8; it deliberately does not reject the legitimate replacement character U+FFFD.

Constructors

Link copied to clipboard
constructor(value: String)

Properties

Link copied to clipboard
open override val isValid: Boolean

true iff rawValue is well-formed UTF-8, via a canonical round-trip: value decodes rawValue (replacing any malformed sequence with U+FFFD), and re-encoding reproduces rawValue exactly iff the input was well-formed. Bytes that genuinely encode U+FFFD round-trip and are reported valid; malformed/overlong sequences re-encode differently and are reported invalid.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val tag: ULong
Link copied to clipboard

Always the UTF-8 interpretation of rawValue. The decoding is performed via String.decodeFromAsn1ContentBytes(rawValue), which internally uses the standard library's ByteArray.decodeToString.

Functions

Link copied to clipboard

Convenience function to directly get the DER-encoded representation of the implementing object

Link copied to clipboard

Exception-free version of encodeToDer

Link copied to clipboard
open override fun encodeToTlv(): Asn1Primitive

Encodes the implementing object into an A

Link copied to clipboard
Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard

shorthand for Asn1Element.prettyPrint, hence, a call to this function encodes this encodable to an Asn1Element, holds it in memory, pretty prints it, and discards it. This characteristic may be relevant in memory-constrained environments.

Link copied to clipboard
fun Asn1Encodable<*>.toDerHexString(lineLen: Int? = null): String
Link copied to clipboard

Creates a new implicitly tagged ASN.1 Element from this ASN.1 Element. NOTE: The TagClass of the provided tag will be used! If you want the result to have TagClass.CONTEXT_SPECIFIC, also invoke tag withClass TagClass.CONTEXT_SPECIFIC!. If a CONSTRUCTED Tag is applied to an ASN.1 Primitive, the CONSTRUCTED bit is overridden and set to zero

Creates a new implicitly tagged ASN.1 Element from this ASN.1 Structure. If the provided template's tagClass is not set, the class of the resulting structure defaults to TagClass.CONTEXT_SPECIFIC. If a CONSTRUCTED Tag is applied to an ASN.1 Primitive, the CONSTRUCTED bit is overridden and set to zero

open infix fun withImplicitTag(tagValue: ULong): Asn1Element

Creates a new implicitly tagged ASN.1 Element from this ASN.1 Element. Sets the class of the resulting structure to TagClass.CONTEXT_SPECIFIC