Caltech Library logo

Pairtree

This is a library for translate a UTF-8 string to/from a pairtree notation. This is typically used in storing things on disc (e.g. repository filesystems). This code is based on the specification found at https://confluence.ucop.edu/download/attachments/14254128/PairtreeSpec.pdf?version=2&modificationDate=1295552323000&api=v2 which is cited on the OCFL wiki.

Features

Example

    import (
        "fmt"
        "os"

        "github.com/caltechlibrary/pairtree"
    )

    func main() {
        key := "12mIEERD11"
        fmt.Printf("Key: %q\n", key)
        pairPath := pairtree.Encode(key)
        fmt.Printf("Endoded key %q -> %q\n", key, pairPath)
        key = Decode(pairPath)
        fmt.Printf("Decoded path %q -> %q\n", pairPath, key)
    }