pdu

package
v0.0.0-...-e32b96d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2017 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package pdu implementes dataencoding schemes described in 3GPP TS 23.040. Such schemes include: GSM 7-Bit text encoding, UCS2 (UTF-16) text encoding, semi-octet encoding of integers.

Index

Constants

View Source
const CR byte = 0x0D

CR <CR> code.

View Source
const Esc byte = 0x1B

Esc code.

View Source
const Sub byte = 0x1A

Sub Ctrl+Z code.

Variables

View Source
var ErrUnevenNumber = errors.New("decode ucs2: uneven number of octets")

ErrUnevenNumber happens when the number of octets (bytes) in the input is uneven.

View Source
var ErrUnexpectedByte = errors.New("7bit decode: met an unexpected byte")

ErrUnexpectedByte happens when someone tries to decode non GSM 7-bit encoded string.

Functions

func Decode7Bit

func Decode7Bit(octets []byte) (str string, err error)

Decode7Bit decodes the given GSM 7-bit packed octet data (3GPP TS 23.038) into a UTF-8 encoded string.

func DecodeSemi

func DecodeSemi(octets []byte) []int

DecodeSemi unpacks numerical chunks from the given semi-octet encoded data.

func DecodeSemiAddress

func DecodeSemiAddress(octets []byte) (str string)

DecodeSemiAddress unpacks phone numbers from the given semi-octet encoded data. This method is different from DecodeSemi because a 0x00 byte should be interpreted as two distinct digits. There 0x00 will be "00".

func DecodeUcs2

func DecodeUcs2(octets []byte) (str string, err error)

DecodeUcs2 decodes the given UCS2 (UTF-16) octet data into a UTF-8 encoded string.

func Encode7Bit

func Encode7Bit(str string) []byte

Encode7Bit encodes the given UTF-8 text into GSM 7-bit (3GPP TS 23.038) encoding with packing.

func EncodeSemi

func EncodeSemi(chunks ...uint64) []byte

EncodeSemi packs the given numerical chunks in a semi-octet representation as described in 3GPP TS 23.040.

func EncodeUcs2

func EncodeUcs2(str string) []byte

EncodeUcs2 encodes the given UTF-8 text into UCS2 (UTF-16) encoding and returns the produced octets.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL