GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/UUID-Conversion.html ・ emacs-doc.conao3.com

41.21.2 UUID変換

UUIDを使用する場合、通常は文字列に変換され、場合によってはバイナリ表現に変換されます。これはuuid-to-string関数を用いて行われます。

関数: uuid-to-string uuid

Lispオブジェクト uuid の16進数値とハイフンを含む標準的な文字列値を返します。

(uuid-to-string (uuid-v4))     ; "230156d4-488a-45d1-93c9-507ec8be37ca"

また、uuid-to-bytes を用いてユニバイト文字列を生成したり、uuid-to-number を用いて UUID の数値表現を生成したりすることも可能です。

関数: uuid-to-bytes uuid

uuid の2進数値を表す1バイト文字列を返します。

関数: uuid-to-number uuid

uuidの値を数値で返します。

文字列形式のUUIDも uuid-from-string を用いてUUID Lispオブジェクトに変換でき、バイト列は uuid-from-bytes で変換可能です。これらは、本モジュールで生成可能なUUIDに限らず、すべてのUUIDで動作します。

関数: uuid-from-string uuid-str

uuid-strを表すUUID Lispオブジェクトを返します。

関数: uuid-from-bytes uuid-bytes

ユニバイト文字列であることが想定される uuid-bytes を表す UUID Lisp オブジェクトを返します。

有効なUUIDにはタイプがあり、cl-typep、cl-check-type、cl-typecaseと組み合わせて使用できます。タイプはタイプ指定子(uuid-v <version>)で指定します。versionは任意のバージョンのUUIDで構いませんが、UUIDバリアントが正しく2であることを確認します。それ以外の値は有効なバージョンではありません。

(when (cl-typep my-uuid '(uuid-v 4))
    (process-v4-uuid my-uuid))

(defun process-v4-uuid (uuid)
    ;; Error if not the correct type
    (cl-check-type uuid (uuid-v 4))
    ;; Proceed to process the UUIDv4.
    (more-processing uuid))