MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

base64 đến hướng dẫn đến base64

Thứ tự của các byte trong GUID không giống với thứ tự trong ToString() của chúng đại diện trên các hệ thống nhỏ.

Bạn nên sử dụng Guid.ToByteArray () thay vì sử dụng ToString ().

Và, bạn nên sử dụng new Guid(byte[] b) để xây dựng nó, thay vì $str .

Để diễn đạt điều này bằng C # thuần túy:

public string GuidToBase64(Guid guid)
{
    return System.Convert.ToBase64String(guid.ToByteArray());  // Very similar to what you have.
}

public Guid Base64Toguid(string base64)
{
    var bytes = System.Convert.FromBase64String(base64);
    return new Guid(bytes);  // Not that I'm not building up a string to represent the GUID.
}

Hãy xem phần phần "Cấu trúc cơ bản" của bài viết GUID trên Wikipedia để biết thêm chi tiết.

Bạn sẽ thấy rằng hầu hết dữ liệu được lưu trữ trong endianness "Gốc" ... đó là nguyên nhân dẫn đến sự nhầm lẫn.

Để trích dẫn:

Chỉnh sửa:

Phiên bản Powershell:

function base64toguid  
{  
    param($str);  
    $b = [System.Convert]::FromBase64String($str);
    $g = new-object -TypeName System.Guid -ArgumentList (,$b);
    return $g;
}

Lưu ý bổ sung, bạn có thể tùy ý cắt bớt "==" ở cuối chuỗi của mình, vì nó chỉ là phần đệm (có thể hữu ích nếu bạn đang cố gắng tiết kiệm dung lượng).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tính toán giá trị bỏ qua cho bản ghi đã cho để phân trang được sắp xếp

  2. Hiển thị kích thước điều kiện của một mảng với các trường khác của tài liệu mongodb

  3. Tổng hợp với cập nhật trong mongoDB

  4. Tùy chọn Mongoose autoReconnect

  5. Chạy MongoDB La bàn trên Mac