在 Postgresql 中用于转换 uuid::text 的算法是什么?
What is the algorithm used for converting uuid::text in Postgresql?
postgresql 中的一个 table,其中一列是 uuid,因为 BYTEA 正在导出到 tsv。
例如 uuid 是:625c3430-34d0-43eb-b85d-e3bd1d9f82e1
导出的值是:b\4040C30]355721
.
转换 uuid::text 以及从文本到 uuid 的反向功能背后的算法是什么。
我必须阅读此 tsv,从其文本表示中解码 uuid,并根据解码后的 uuid "do additional stuff"。
Java 中有一些库吗?还是我需要为它编写自己的解码器?
如果我必须编写自己的解码器,欢迎提供有关算法的任何提示。
将您的初始 uuid 转换为字节数组。检查字节数组的每个元素,如果值为:
0 => "\000"
39 => "\047"
或 ''''(单引号)
92 =>“\”或“\134”(反斜杠)
31 < 值 < 127 => 值
中的字符
任何其他是“\xxx”八进制值。
你有你的 "text representation" uuid。
要从 "text representation" 获取 uuid,只需执行相反的步骤即可。
postgresql 中的一个 table,其中一列是 uuid,因为 BYTEA 正在导出到 tsv。
例如 uuid 是:625c3430-34d0-43eb-b85d-e3bd1d9f82e1
导出的值是:b\4040C30]355721
.
转换 uuid::text 以及从文本到 uuid 的反向功能背后的算法是什么。 我必须阅读此 tsv,从其文本表示中解码 uuid,并根据解码后的 uuid "do additional stuff"。
Java 中有一些库吗?还是我需要为它编写自己的解码器? 如果我必须编写自己的解码器,欢迎提供有关算法的任何提示。
将您的初始 uuid 转换为字节数组。检查字节数组的每个元素,如果值为:
0 => "\000"
39 => "\047"
或 ''''(单引号)
92 =>“\”或“\134”(反斜杠)
31 < 值 < 127 => 值
中的字符任何其他是“\xxx”八进制值。
你有你的 "text representation" uuid。
要从 "text representation" 获取 uuid,只需执行相反的步骤即可。