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.
Set()
will let you set the path separatorSeparator
is a readonly value of the file separator used byEncode()
andDecode()
Encode()
will encode the provided string as a pairtree pathDecode()
will decode a pairtree path returning the unencoded string
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)
}