2014-06-09 28 views
-1

我一直在試圖通過這個代碼行sqlite3_column_blob類型的值添加到NSString轉換sqlite3_column_blob到的NSString

NSUInteger len = sqlite3_column_bytes(compiledStatement, n); 
NSData *cData = [[NSData alloc] initWithBytes:sqlite3_column_blob(compiledStatement, n) length:len]; 
NSString *columnText = [NSString stringWithUTF8String:[cData bytes]]; 

這裏是我試圖從數據庫中檢索BLOB數據:

�PNG 


IHDRXXq�04sBIT|d� 
�IDATx��{pEǿ� !�f��E���0��#����Q'[email protected]��È�L�P���R`6 F�COJD�q��0 ��\�FbrȁR�������c6��������f�����M��-����n"�~;�p0s��bɶX,c�U^7!�Q!��e�n�2��o�%��#���~3G!�^�X,��<�b��B\S�)ˬ`��Ť*S��#�.�9+c�8ADtN�fd�}����D4��̊�X����u9��f�y̜/_�c� 
"J�D�V0�^"�0��h6��Du��,3s83���f"z��j���6M]!V�[q���\��+��O�QUU�K�.*~:���@HH�|�]�F�@tt�'�C�$wU�+<ט�� >}���`��rR�b<�sv��\��'Nb�8~�$��F��h����<z$��1�U{�J�[email protected]'9��~e��X|*�b�I��]��+�:|F��B��6$IB��~xd��>aa����$�/�j��f�H�� 
rV����ز{>��ju1�Q��'�E�+}Q�/^��&����r�۰Ǿ>����A�:g�S��(��r}Q�Of��� 
��t��omƶw5Y7�-�$aꔉH�5]��>KD�}1�J`[email protected]!DM`7u=p�0Vg��ҥ_��&%,�2^L�#Æ��ʘ�CI�*�8HD���-03�oko��7n"7�mߥ�ѷ���'b��9v:r='���z�������V^ͅ_���E�%z����bU�rt���|"z����y���ݴ��+0��y+.�`��P^^ᬈ�ow�n����S�� %5���[O�t�W������3yB�:]3s["�L;u��g4z�O��uH[�� 2=.�=ƣ>��;x��gA1+/�@JjZ�W����u&DG�����l%�jw�p)03��h�:���/�����^���"<�nl|#O����[$I��jdᮋ��%�7����ŋ���4�eܸq�!O�f���ݙ+;h%��o�z�зOO�I�1����`��g��*�yȫg���pd�x�v]__�=��Ǟ��4?^�()-Gn�,yA�(���wo��A���G��D��Sv&&No'.,9�����J����/�ۥL�0��L����s�m߅ke�4ڻ��.j6�aUV�ΦݢW�D�V!$$D3?$$��L�̞�j6���6H�=��L�u�Vy-r֚��z�7u�K۱K�����u6z���Ꙉ��?�Jpp̚��{�M����Xn�hŸ��x�71k�Sn�8!!!����M���� 
oۥ�5R�9�`�NB��D4˚VRZ��3��m����<���Ǿ>�s�.�����[email protected]���о���A��ᴨ�����t������ 
$I���ۙ:��-I�^$"������<�����_X�G��jL���Vy%ns��C�$!絕��+D�X�Zm�E0sof���E�%-N\���/ߴ 
=t�w�h��(�3odf;+���Tc���[email protected]���������Sv�n�]hb����nVRUU�lx�I��x��3=�@�Fc(Lٙ���=��[�N��- 
m� ,O��V$?��غ'�#oͪ�׊���5�<Y�O?s0 
�WO��i�l��� 
p|\l��k�*r|\�G����v�j�Ǐ���l~ 
ߝ�5~q[Q|\,^�{-�ŵb4�����<����nBD�d�6������h��9���J��b�o 
�7W����8���b�}�y�,03G1s!T.���O�|�U�����h~``4�"�侻(<~R�4���9 
�B,`�T__���2�n���.k��Zi߾V������攨 R���E8�7~8W�r�p��M,{e�W�[?�Ѭ� fs�~�ë����R�l�����L���$i=T�_+�6��K0w�R]bm�`rr�y\�W���%��\���zd����$IkY`"�ff�9�?���!zD޶}�m�JN�:�l�z��b����:�(B����.x0<�RT\���]��m�.d����MEV�Z�"��uX�(]׊�Z+I����_�n�TQS����>ۙ��w~��Z��Y��;?qH���ù"]����fذ�"�9SY��o�{�h��}�'X��OP��:+�Ndo��b�L�^=Iv=}@��еk�|�l(E�Wq����Ů�v7J\@S�pf~���3?�̛�%���ѫʬ<y?��+Z���Q�����:�3�i���zB�/҈h���̊7�J��� �Z/� �:'�������)�u"z����Z����rЪ���$��։F%e(K�� �XSӾ��=��2�����`;��=�w7}�Z�Zٴ� ,��sb�׉}+�t����Z��u�AD)�B�{�[q�Z+"J�ƫ�ڃ����V9�� 
�� 
!�~�":�Kx�k��'8��3����`I�V�ۛk0�{S�G���Z�q���6{p%8�,�4�o�42���i>IDC��P�"����FC1���^ڊ���(/ˈh�rs�ڳ���[�{$&�kW���t�a��2��DtEY��+FDq��?�m�U�%��F����c���06ƍMnM8a�X��Q��6��������}�1��־X�����>�ѭ�(j�5m�3�;l���q��s�J"���R��9��C�|��@f�Z.Uf"J%"���@D�(���U��I�����&��9��Ҙ�]"�!���BD5AAAO3�m�=6&�&��*~G1i�x���AAAO����f��$I�)����4�X�$,��̴KSk��ݿy;g����a�"�A�Z<K���&u2ҝ���Q����u6-�<����p�,�����V���s�E�kQ��Dc�¹β55��[email protected]�MD�:���)��ZD�W��uB��5�6f�*I�W9< 
)`3?�c�R�RfK�Cʨaf�����盓���8åx ���L���,%� N�k�@D�̼[�ֿ_�Yݢ<��֬v0�3�n���tO�$Ir�ڷOO�7��1rXX'�7�o��yZ����}5���Dc�y=���78�v�o�����c���������A��}�Up�b"����A�a~�(!D=���_��\\���a�m��:��%�&̼S��b��]�f#3��Jd�� 
6���<u�D�I���^&�����b\94L�/�j� �E�%شy���d�a�1}�����$�����ڋ8p�0�-l�c�I���ô�L���c�A%����tE1���wv�m>�d�|P�5T-��~{P�3,�j�X-�����QY�3��+PU]�˗�@JJ�����DC��бct��@��(DFޏ޽=Z�b悠���:j�r��R��aQ1Ζy|I��b�~o/)���g�h�R�!r��XN'���C\����DtV��M>����Z�9�G����L!D�Ƒ� 
�%S.��GN� 
�CSW4����vhj�v�!P���?� �kɲIEND�B`� 

但每次我都會得到零的迴應,雖然有一個值存在。其餘的參數值即將到來,只是我得到了零值以上的迴應。

謝謝。

+0

什麼是塊的字符編碼? – trojanfoe

+0

@trojanfoe請檢查更新的問題 – Mayur

回答

1

最後我得到了我所面臨的問題之上的解決方案:

NSData *content = [[NSData alloc] initWithBytes:sqlite3_column_blob(compiledStatement, 2) length:sqlite3_column_bytes(compiledStatement, 2)]; 
NSString *columnText = [content base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; 
1

你不能將數據轉換爲字符串的原因是因爲它是一個PNG圖像文件:

PNG

(我假設,我沒有看過在PNG規範來證實這一點,這只是在這個階段的假設)。

+0

那麼我需要從數據庫中刪除該部分? – Mayur

+0

@Mayur這是一個有趣的問題。我想你需要坐下來思考一下。 – trojanfoe

+0

可能是:)但我真的沒有得到請給我任何參考,所以我可以得到它。 – Mayur