我从文档中发现了this:
...二进制字符串特别允许存储值为零和 ...八位组超出32到126的范围...
在我看来,没有理由使用BYTEA存储十六进制值吗?似乎仍有很多人使用BYTEA做某事。 like这:
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"></head>
<body>
<button id="getCrown" type="button"
onclick="window.location.href='index.html'; set_crown();">
Give me that crown!
</button>
<script type="text/javascript">
function set_crown(){
localStorage.setItem('crown', 'visible');
};
</script>
</body>
</html>
这样做有充分的理由吗?
答案 0 :(得分:0)
有三个很好的理由:
由于两个十六进制数字存储为一个字节,因此需要较少的存储空间。
它将自动检查值的正确性:
SELECT decode('0102ABCDNONSENSE', 'hex');
ERROR: invalid hexadecimal digit: "N"
如果您的API支持,您可以存储和检索二进制数据,而无需将它们与文本之间进行转换。