هل هي آمنة لتحويل mysqlpp :: sql_blob إلى الأمراض المنقولة جنسيا :: سلسلة؟

StackOverflow https://stackoverflow.com/questions/1541309

سؤال

وأنا الاستيلاء على بعض البيانات الثنائية من قاعدة بيانات MySQL بلدي. يخرج كنوع mysqlpp :: sql_blob.

وويحدث ذلك فقط أن هذا BLOB هو جوجل Protobuf تسلسل. ولست بحاجة للتخلص من تسلسل بحيث يمكنني الوصول إليه عادة.

وهذا يعطي خطأ الترجمة، منذ ParseFromString () غير مخصص للmysqlpp: أنواع sql_blob:

protobuf.ParseFromString( record.data );

ولكن، إذا كنت اجبار المدلى بها، فإنه يجمع موافق:

protobuf.ParseFromString( (std::string) record.data );

هل هذا آمن؟ أنا قلق بشكل خاص بسبب هذا المقتطف من وثائق mysqlpp:

<أنا> "لأن سلاسل C ++ معالجة البيانات الثنائية فقط غرامة، قد تعتقد أنك يمكن أن تستخدم الأمراض المنقولة جنسيا :: سلسلة بدلا من sql_blob، ولكن التصميم الحالي للمتحولين إلى سلسلة الأمراض المنقولة جنسيا :: سلسلة عبر سلسلة C. ونتيجة لذلك، يتم اقتطاع البيانات BLOB عند الحرف اغية أولا جزءا لا يتجزأ من خلال السكان من SSQLS. ليس هناك طريقة لإصلاح هذا دون إعادة تصميم تماما إما سلسلة أو آلية SSQLS ".

وشكرا لمساعدتكم!

هل كانت مفيدة؟

المحلول

وانها لا تبدو انها ستكون مشكلة اذا حكمنا من خلال هذا الاقتباس (انها تقول في الأساس إذا تم العثور على الطابع اغية في سائل فإنه سيتم وقف سلسلة هناك، ومع ذلك سوف سلاسل ASCII يكن بلا قيم عشوائية في منتصف منهم). ومع ذلك، وهذا قد يمثل مشكلة لاستيعاب (قد يكون ترميز متعددة البايت بلا قيم في الوسط).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top