Skip to content
标签
欢迎扫码关注公众号

MongoDB UUID、Base64、CSUUID 转换工具

html
<div class="form-group"><label for="base64" class="TransformTitle">Base64 :</label> <input type="text" id="base64" class="TransformButton" placeholder="请输入 Base64" /><button id="btnBase64" class="btn btn-primary">转换</button><div class="TransformResult"></div></div>
<div class="form-group"><label for="uuid" class="TransformTitle">UUID :</label> <input type="text" id="uuid" class="TransformButton" placeholder="请输入 UUID" /><button id="btnUuid" class="btn btn-primary">转换</button><div class="TransformResult"></div></div>
<div class="form-group"><label for="juuid" class="TransformTitle">JUUID :</label> <input type="text" id="juuid" class="TransformButton" placeholder="请输入 JUUID" /><button id="btnJuuid" class="btn btn-primary">转换</button><div class="TransformResult"></div></div>
<div class="form-group"><label for="csuuid" class="TransformTitle">CSUUID :</label> <input type="text" id="csuuid" class="TransformButton" placeholder="请输入 CSUUID" /><button id="btnCsuuid" class="btn btn-primary">转换</button><div class="TransformResult"></div></div>
<div class="form-group"><label for="pyuuid" class="TransformTitle">PYUUID :</label> <input type="text" id="pyuuid" class="TransformButton" placeholder="请输入 PYUUID" /><button id="btnPyuuid" class="btn btn-primary">转换</button><div class="TransformResult"></div></div>

<style>
    label.TransformTitle {
        width: 100px;
    }
    input.TransformButton {
        min-width: 300px;
        margin: 0px 10px;
    }
    label.TransformTitle {
        font-weight: bold;
    }
    .TransformResult {
        display: none;
        margin-left: 20px;
    }
    .TransformResult .TransformTo {
        font-style: italic;
    }
    .TransformResult .Type {
        color: #257fad;
    }
    .TransformResult .Str {
        color: #568c3b;
    }
    .TransformResultRow {
        display: block;
    }
</style>

<script>
    $(function() {
        $("#btnBase64").click(function() {
            let val = $("#base64").val();
            var divResult = $($(this).parent()).find(".TransformResult");
            divResult.html(TransformResultHtml(
                { Type: "Base64", Value: toBase64(val) },
                { Type: "UUID", Value: toUUID(val) },
                { Type: "JUUID", Value: toJUUID(val) },
                { Type: "CSUUID", Value: toCSUUID(val) },
                { Type: "PYUUID", Value: toPYUUID(val) }
            )).show();
        });
    });
    $(function() {
        $("#btnUuid").click(function() {
            let val = UUID($("#uuid").val());
            var divResult = $($(this).parent()).find(".TransformResult");
            divResult.html(TransformResultHtml(
                { Type: "Base64", Value: toBase64(val) },
                { Type: "UUID", Value: toUUID(val) },
                { Type: "JUUID", Value: toJUUID(val) },
                { Type: "CSUUID", Value: toCSUUID(val) },
                { Type: "PYUUID", Value: toPYUUID(val) },
                { Type: "HexUUID", Value: toHexUUID(4, val) }
            )).show();
        });
    });
    $(function() {
        $("#btnJuuid").click(function() {
            let val = JUUID($("#juuid").val());
            var divResult = $($(this).parent()).find(".TransformResult");
            divResult.html(TransformResultHtml(
                { Type: "Base64", Value: toBase64(val) },
                { Type: "UUID", Value: toUUID(val) },
                { Type: "JUUID", Value: toJUUID(val) },
                { Type: "CSUUID", Value: toCSUUID(val) },
                { Type: "PYUUID", Value: toPYUUID(val) },
                { Type: "HexUUID", Value: toHexUUID(3, val) }
            )).show();
        });
    });
    $(function() {
        $("#btnCsuuid").click(function() {
            let val = CSUUID($("#csuuid").val());
            var divResult = $($(this).parent()).find(".TransformResult");
            divResult.html(TransformResultHtml(
                { Type: "Base64", Value: toBase64(val) },
                { Type: "UUID", Value: toUUID(val) },
                { Type: "JUUID", Value: toJUUID(val) },
                { Type: "CSUUID", Value: toCSUUID(val) },
                { Type: "PYUUID", Value: toPYUUID(val) },
                { Type: "HexUUID", Value: toHexUUID(3, val) }
            )).show();
        });
    });
    $(function() {
        $("#btnPyuuid").click(function() {
            let val = PYUUID($("#pyuuid").val());
            var divResult = $($(this).parent()).find(".TransformResult");
            divResult.html(TransformResultHtml(
                { Type: "Base64", Value: toBase64(val) },
                { Type: "UUID", Value: toUUID(val) },
                { Type: "JUUID", Value: toJUUID(val) },
                { Type: "CSUUID", Value: toCSUUID(val) },
                { Type: "PYUUID", Value: toPYUUID(val) },
                { Type: "HexUUID", Value: toHexUUID(3, val) }
            )).show();
        });
    });
    function TransformResultHtml(...results) {
        let resultHtml = "";
        for(let result of results) {
            console.log(result);
             resultHtml = resultHtml + "<div class=\"TransformResultRow\"><span class=\"TransformTo\">to</span> <code>" + result.Type + "</code> : <span class=\"TransformToResult\">" + result.Value + "</span></div>";
        }
        console.log(resultHtml);
        return resultHtml;
    }
    function HexToBase64(hex) {
        var base64Digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
        var base64 = "";
        var group;
        for (var i = 0; i < 30; i += 6) {
            group = parseInt(hex.substr(i, 6), 16);
            base64 += base64Digits[(group >> 18) & 0x3f];
            base64 += base64Digits[(group >> 12) & 0x3f];
            base64 += base64Digits[(group >> 6) & 0x3f];
            base64 += base64Digits[group & 0x3f];
        }
        group = parseInt(hex.substr(30, 2), 16);
        base64 += base64Digits[(group >> 2) & 0x3f];
        base64 += base64Digits[(group << 4) & 0x3f];
        base64 += "==";
        return base64;
    }
    function Base64ToHex(base64) {
        var base64Digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
        var hexDigits = "0123456789abcdef";
        var hex = "";
        for (var i = 0; i < 24;) {
            var e1 = base64Digits.indexOf(base64[i++]);
            var e2 = base64Digits.indexOf(base64[i++]);
            var e3 = base64Digits.indexOf(base64[i++]);
            var e4 = base64Digits.indexOf(base64[i++]);
            var c1 = (e1 << 2) | (e2 >> 4);
            var c2 = ((e2 & 15) << 4) | (e3 >> 2);
            var c3 = ((e3 & 3) << 6) | e4;
            hex += hexDigits[c1 >> 4];
            hex += hexDigits[c1 & 15];
            if (e3 != 64) {
                hex += hexDigits[c2 >> 4];
                hex += hexDigits[c2 & 15];
            }
            if (e4 != 64) {
                hex += hexDigits[c3 >> 4];
                hex += hexDigits[c3 & 15];
            }
        }
        return hex;
    }
    function UUID(uuid) {
        var hex = uuid.replace(/[{}-]/g, ""); // remove extra characters
        var base64 = HexToBase64(hex);
        return base64; // new subtype 4
    }
    function JUUID(uuid) {
        var hex = uuid.replace(/[{}-]/g, ""); // remove extra characters
        var msb = hex.substr(0, 16);
        var lsb = hex.substr(16, 16);
        msb = msb.substr(14, 2) + msb.substr(12, 2) + msb.substr(10, 2) + msb.substr(8, 2) + msb.substr(6, 2) + msb.substr(4, 2) + msb.substr(2, 2) + msb.substr(0, 2);
        lsb = lsb.substr(14, 2) + lsb.substr(12, 2) + lsb.substr(10, 2) + lsb.substr(8, 2) + lsb.substr(6, 2) + lsb.substr(4, 2) + lsb.substr(2, 2) + lsb.substr(0, 2);
        hex = msb + lsb;
        var base64 = HexToBase64(hex);
        return base64;
    }
    function CSUUID(uuid) {
        var hex = uuid.replace(/[{}-]/g, ""); // remove extra characters
        var a = hex.substr(6, 2) + hex.substr(4, 2) + hex.substr(2, 2) + hex.substr(0, 2);
        var b = hex.substr(10, 2) + hex.substr(8, 2);
        var c = hex.substr(14, 2) + hex.substr(12, 2);
        var d = hex.substr(16, 16);
        hex = a + b + c + d;
        var base64 = HexToBase64(hex);
        return base64;
    }
    function PYUUID(uuid) {
        var hex = uuid.replace(/[{}-]/g, ""); // remove extra characters
        var base64 = HexToBase64(hex);
        return base64;
    }
    function toBase64(base64) {
        return '<span class="Str">' + base64 + '</span>';
    }
    function toUUID(base64) {
        var hex = Base64ToHex(base64); // don't use BinData's hex function because it has bugs in older versions of the shell
        var uuid = hex.substr(0, 8) + '-' + hex.substr(8, 4) + '-' + hex.substr(12, 4) + '-' + hex.substr(16, 4) + '-' + hex.substr(20, 12);
        return '<span class="Type">UUID</span>(<span class="Str">\'' + uuid + '\'</span>)';
    }
    function toJUUID(base64) {
        var hex = Base64ToHex(base64); // don't use BinData's hex function because it has bugs in older versions of the shell
        var msb = hex.substr(0, 16);
        var lsb = hex.substr(16, 16);
        msb = msb.substr(14, 2) + msb.substr(12, 2) + msb.substr(10, 2) + msb.substr(8, 2) + msb.substr(6, 2) + msb.substr(4, 2) + msb.substr(2, 2) + msb.substr(0, 2);
        lsb = lsb.substr(14, 2) + lsb.substr(12, 2) + lsb.substr(10, 2) + lsb.substr(8, 2) + lsb.substr(6, 2) + lsb.substr(4, 2) + lsb.substr(2, 2) + lsb.substr(0, 2);
        hex = msb + lsb;
        var uuid = hex.substr(0, 8) + '-' + hex.substr(8, 4) + '-' + hex.substr(12, 4) + '-' + hex.substr(16, 4) + '-' + hex.substr(20, 12);
        return '<span class="Type">JUUID</span>(<span class="Str">\'' + uuid + '\'</span>)';
    }
    function toCSUUID(base64) {
        var hex = Base64ToHex(base64); // don't use BinData's hex function because it has bugs in older versions of the shell
        var a = hex.substr(6, 2) + hex.substr(4, 2) + hex.substr(2, 2) + hex.substr(0, 2);
        var b = hex.substr(10, 2) + hex.substr(8, 2);
        var c = hex.substr(14, 2) + hex.substr(12, 2);
        var d = hex.substr(16, 16);
        hex = a + b + c + d;
        var uuid = hex.substr(0, 8) + '-' + hex.substr(8, 4) + '-' + hex.substr(12, 4) + '-' + hex.substr(16, 4) + '-' + hex.substr(20, 12);
        return '<span class="Type">CSUUID</span>(<span class="Str">"' + uuid + '"</span>)';;
    }
    function toPYUUID(base64) {
        var hex = Base64ToHex(base64); // don't use BinData's hex function because it has bugs
        var uuid = hex.substr(0, 8) + '-' + hex.substr(8, 4) + '-' + hex.substr(12, 4) + '-' + hex.substr(16, 4) + '-' + hex.substr(20, 12);
        return '<span class="Type">PYUUID</span>(<span class="Str">\'' + uuid + '\'</span>)';
    }
    function toHexUUID(subtype, base64) {
        var hex = Base64ToHex(base64); // don't use BinData's hex function because it has bugs
        var uuid = hex.substr(0, 8) + '-' + hex.substr(8, 4) + '-' + hex.substr(12, 4) + '-' + hex.substr(16, 4) + '-' + hex.substr(20, 12);
        return '<span class="Type">HexData</span>(' + subtype + ', <span class="Str">\'' + uuid + '\'</span>)';
    }
</script>

Page Layout Max Width

Adjust the exact value of the page width of VitePress layout to adapt to different reading needs and screens.

Adjust the maximum width of the page layout
A ranged slider for user to choose and customize their desired width of the maximum width of the page layout can go.

Content Layout Max Width

Adjust the exact value of the document content width of VitePress layout to adapt to different reading needs and screens.

Adjust the maximum width of the content layout
A ranged slider for user to choose and customize their desired width of the maximum width of the content layout can go.