[Catalyst] UTF-16 surrogate message when writing binary data(image)

Merlyn Kline merlyn at zynet.net
Mon May 12 16:45:28 BST 2008


SSd2ZSBqdXN0IGJlZW4gbG9va2luZyBhdCB0aGlzIHNhbWUgcHJvYmxlbSBhcyBJIHNlZSBpdCBv
Y2Nhc2lvbmFsbHkgaW4gbXkgbG9ncy4gSW4gbXkgdGVzdCBjYXNlIHRoZSB3YXJuaW5nIG9jY3Vy
cyB3aGVuIHdyaXRpbmcgcGxhaW4gSFRNTCB3aGljaCBJJ20gY2VydGFpbiBkb2Vzbid0IGNvbnRh
aW4gYW55IFVURi0xNiBzdXJyb2dhdGVzLiBBZnRlciBzb21lICh0b28gbXVjaCEpIHBva2luZyBh
cm91bmQsIEkgZXZlbnR1YWxseSByZWFsaXNlZCB0aGF0IHRoZSByZXBvcnRlZCBzdXJyb2dhdGUg
aXMgYWN0dWFsbHkgdGhlIHNpemUgb2YgdGhlIG91dHB1dCAoc28gaW4geW91ciBleGFtcGxlIGNh
c2UsIEknbSBndWVzc2luZyB5b3VyIG91dHB1dCB3YXMgREY5OCA9PSA1NzI0MCBieXRlcykuIFNv
IHRoYXQgc3VnZ2VzdHMgdG8gbWUgdGhhdCBpdCdzIHNvbWV0aGluZyB0byBkbyB3aXRoIHRoZSBG
YXN0Q0dJIHByb3RvY29sIGhlYWRlci4gSG93ZXZlciBhIGN1cnNvcnkgZXhhbWluYXRpb24gb2Yg
dGhlIGNvbnRlbnRzIG9mIHRoZSBidWZmZXIgcGFzc2VkIHRvIHN5c3dyaXRlIGRvZXNuJ3QgcmV2
ZWFsIHRoaXMgaGVhZGVyIHRvIGJlIHByZXNlbnQsIGFuZCBhIHF1aWNrIGxvb2sgdGhyb3VnaCB0
aGUgY2FsbGluZyBzdGFjayBkb2Vzbid0IHJldmVhbCBhbnkgcm91dGluZSB3aGljaCBtaWdodCBh
ZGQgaXQuIFRoZSBsZW5ndGggb2YgdGhlIGJ1ZmZlciBpcywgaG93ZXZlciwgYWx3YXlzIHRoZSBu
dW1iZXIgd2hpY2ggaXMgbGF0ZXIgcmVwb3J0ZWQgYXMgYSBVVEYtMTYgc3Vycm9nYXRlLiBTbyBJ
IGNvbmNsdWRlIHRoYXQgdGhlIEZhc3RDR0kgcHJvdG9jb2wgaGVhZGVyIGlzIGJlaW5nIHB1dCBp
biBwbGFjZSBvbiBhIGxvd2VyIGxheWVyLCBvdXQgb2YgbXkgcmVhY2guCgpBbGwgdGhpcyBuZWF0
bHkgZXhwbGFpbnMgdGhlIHByZXZpb3VzbHkgb3BhcXVlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd2Fy
bmluZyBpbiBteSBsb2dzIChvdXRwdXQgc2l6ZSBpc24ndCBvZnRlbiBpbiB0aGUgVVRGLTE2IHJl
c2VydmVkIHJhbmdlKSwgYW5kIHdoeSBpdCB3YXMgc28gZGlmZmljdWx0IGZvciBtZSB0byBmaW5k
IGEgcmVsaWFibGUsIHNpbXBsZSB0ZXN0IGNhc2UgKGV2ZXJ5IHRpbWUgSSB0cmllZCB0byBzaW1w
bGlmeSB0aGUgdGVzdCBjYXNlIHRvIGlzb2xhdGUgdGhlIGNhdXNlLCB0aGUgd2FybmluZyB3ZW50
IGF3YXkgYmVjYXVzZSB0aGUgc2ltcGxpZmllZCBjYXNlIHdhc24ndCBpbiB0aGUgcmlnaHQgc2l6
ZSByYW5nZSkuIFVuZm9ydHVuYXRlbHksIGl0IGFsc28gdGVsbHMgbWUgdGhhdCBJJ20gbm90IGdv
aW5nIHRvIGJlIGFibGUgdG8gZml4IGl0IG9uIHRoaXMgcGFydGljdWxhciBhdHRhY2sgLSBJJ3Zl
IHJ1biBvdXQgb2YgdGltZSBzbyBJJ20gZ29pbmcgdG8gaGF2ZSB0byBwdXQgaXQgYXNpZGUgKGFn
YWluKSB1bnRpbCBJIGNhbiBtYWtlIGFub3RoZXIgY2hhbmNlIHRvIGludmVzdGlnYXRlIGZ1cnRo
ZXIuCgpIb3BlIGFsbCB0aGlzIGhlbHBzIC0gSSBsb29rIGZvcndhcmQgdG8gc29tZW9uZSBlbHNl
IHNvbHZpbmcgaXQgZm9yIG1lIDspCgpNZXJseW4gS2xpbmUKCiAgLS0tLS1PcmlnaW5hbCBNZXNz
YWdlLS0tLS0KICBGcm9tOiBNYXJ0aW4gRWxsaXNvbiBbbWFpbHRvOl0KICBTZW50OiAxMiBNYXkg
MjAwOCAxMDowNQogIFRvOiBUaGUgZWxlZ2FudCBNVkMgd2ViIGZyYW1ld29yawogIFN1YmplY3Q6
IFJlOiBbQ2F0YWx5c3RdIFVURi0xNiBzdXJyb2dhdGUgbWVzc2FnZSB3aGVuIHdyaXRpbmcgYmlu
YXJ5IGRhdGEoaW1hZ2UpCgoKICBUaGUgZXJyb3IgaXMgc3BlY2lmaWNhbGx5IGF0IC91c3IvbGli
L3BlcmwvNS44L0lPL0hhbmRsZS5wbSBsaW5lIDE5OSwgd2hpY2ggaXMgdGhlIHNlY29uZCBzeXN3
cml0ZSBjYWxsIGluIAoKICBzdWIgc3lzd3JpdGUgewogICAgICBAXyA+PSAyICYmIEBfIDw9IDQg
b3IgY3JvYWsgJ3VzYWdlOiAkaW8tPnN5c3dyaXRlKEJVRiBbLCBMRU4gWywgT0ZGU0VUXV0pJzsK
ICAgICAgaWYgKGRlZmluZWQoJF9bMl0pKSB7CiAgICAgICAgICBzeXN3cml0ZSgkX1swXSwgJF9b
MV0sICRfWzJdLCAkX1szXSB8fCAwKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAgIHN5c3dyaXRl
KCRfWzBdLCAkX1sxXSk7CiAgICAgIH0KICB9CgogIFRoZSBlcnJvciBpcyBpbiBwcm9kdWN0aW9u
LCBzbyBJIGFtIGFkZGluZyBzb21lIHRyYWNlIGNvZGUgdG8gaW52ZXN0aWdhdGUgZnVydGhlciwg
YnV0IHJlc3VsdHMgd2lsbCBuZWVkIHRvIHdhaXQgdW50aWwgSSBoYXZlIHB1c2hlZCB0aGUgY29k
ZS4KCgogIDIwMDgvNS8xMCBNYXR0IFMgVHJvdXQgPGRiaXgtY2xhc3NAdHJvdXQubWUudWs+OgoK
ICAgIE9uIEZyaSwgTWF5IDA5LCAyMDA4IGF0IDAyOjU4OjQxUE0gKzA4MDAsIE1hcnRpbiBFbGxp
c29uIHdyb3RlOgogICAgPiBJZiBJIHdyaXRlIGJpbmFyeSBkYXRhIChhIEpQRUcpIHVzaW5nICRj
LT5yZXMtPmJvZHkgdGhlbiBJIGdldCBhbGwgdGhlc2UKICAgID4gZXJyb3JzCiAgICA+CiAgICA+
ICBzdGRlcnI6IFVURi0xNiBzdXJyb2dhdGUgMHhkZjk4IGF0IC91c3IvbGliL3BlcmwvNS44L0lP
L0hhbmRsZS5wbSBsaW5lIDE5OS4KICAgID4KICAgID4gTXkgY29kZSBsb29rcyBsaWtlCiAgICA+
CiAgICA+ICAgICAgICRjLT5yZXMtPmNvbnRlbnRfdHlwZShxe2ltYWdlL2pwZWd9KTsKICAgID4g
ICAgICRjLT5yZXMtPmhlYWRlciggJ0NvbnRlbnQtRGlzcG9zaXRpb24nLCBxe2lubGluZX0gKTsK
ICAgID4gICAgICRjLT5yZXMtPmJvZHkoJHBpY19pbWFnZSk7CiAgICA+CiAgICA+IFByZXN1bWFi
bHksIHNvbWV0aGluZyBpcyBhc3N1bWluZyB0aGF0IHRoZSBvdXRwdXQgaXMgVW5pY29kZSB0ZXh0
IGFuZCB0cnlpbmcKICAgID4gdG8gaW50ZXJwcmV0IGl0IGFjY29yZGluZ2x5LiBUaGVzZSBlcnJv
ciBtZXNzYWdlcyBhcmUgYWxsIG92ZXIgdGhlIGxvZywKICAgID4gbWFraW5nIGl0IGRpZmZpY3Vs
dCB0byByZWFkLCBiZXNpZGVzIGFueSBpbXBhY3QgdGhlIHNpdHVhdGlvbiBtYXkgYmUgaGF2aW5n
CiAgICA+IG9uIHRoZSBvdXRwdXQuCiAgICA+CiAgICA+IElzIHRoZXJlIGFueSB3YXkgdG8gZml4
IHRoaXMgaXNzdWUgKGVnIHNvbWV0aGluZyBsaWtlIGJpbm1vZGUpPwoKCiAgICBNeSBiZXN0IGd1
ZXNzIGhlcmUgaXMgdGhhdCAkcGljX2ltYWdlIGlzLCBvciBsb29rcyBsaWtlLCBhIGZpbGUgaGFu
ZGxlLAogICAgYW5kIHNvIHdoZW4gQ2F0YWx5c3QgaXMgc2VuZGluZyB0aGUgcmVzcG9uc2UgaXQn
cyBkb2luZyBzbyBieSByZWFkaW5nCiAgICBmcm9tIHRoZSBmaWxlaGFuZGxlIGFuZCB0aGUgZXJy
b3IncyB0dXJuaW5nIHVwIGR1cmluZyAkZmgtPnJlYWQuCgogICAgSXQnZCBvZiBjb3Vyc2UgYmUg
ZWFzaWVyIGZvciB5b3UgdG8gY29uZmlybSB0aGlzLCBzaW5jZSB5b3UgaGF2ZSB0aGUKICAgIGNv
cHkgb2YgSU8vSGFuZGxlLnBtIGFuZCB0aGUgbGluZSBudW1iZXIgLSBtYXliZSB5b3UgY291bGQg
bG9vaz8KCiAgICBBIGdvb2Qgd2F5IHRvIGNoZWNrIHdvdWxkIGJlIHRvIGxvb3AgcmVhZGluZyAk
cGljX2ltYWdlIHlvdXJzZWxmIGFuZAogICAgc2VlIGlmIHlvdSBnZXQgdGhlIHNhbWUgd2Fybmlu
ZyAuLi4KCiAgICAtLQogICAgICAgICBNYXR0IFMgVHJvdXQgICAgICAgTmVlZCBoZWxwIHdpdGgg
eW91ciBDYXRhbHlzdCBvciBEQkl4OjpDbGFzcyBwcm9qZWN0PwogICAgICBUZWNobmljYWwgRGly
ZWN0b3IgICAgICAgICAgICAgICAgICAgIGh0dHA6Ly93d3cuc2hhZG93Y2F0LmNvLnVrL2NhdGFs
eXN0LwogICAgIFNoYWRvd2NhdCBTeXN0ZW1zIEx0ZC4gIFdhbnQgYSBtYW5hZ2VkIGRldmVsb3Bt
ZW50IG9yIGRlcGxveW1lbnQgcGxhdGZvcm0/CiAgICBodHRwOi8vY2hhaW5zYXdibHVlcy52b3gu
Y29tLyAgICAgICAgICAgIGh0dHA6Ly93d3cuc2hhZG93Y2F0LmNvLnVrL3NlcnZlcnMvCgoKICAg
IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiAgICBMaXN0
OiBDYXRhbHlzdEBsaXN0cy5zY3N5cy5jby51awogICAgTGlzdGluZm86IGh0dHA6Ly9saXN0cy5z
Y3N5cy5jby51ay9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vY2F0YWx5c3QKICAgIFNlYXJjaGFi
bGUgYXJjaGl2ZTogaHR0cDovL3d3dy5tYWlsLWFyY2hpdmUuY29tL2NhdGFseXN0QGxpc3RzLnNj
c3lzLmNvLnVrLwogICAgRGV2IHNpdGU6IGh0dHA6Ly9kZXYuY2F0YWx5c3QucGVybC5vcmcvCgoK
CgogIC0tIAogIFJlZ2FyZHMsCiAgTWFydGluCiAgKG0uZUBhY20ub3JnKQogIElUOiBodHRwOi8v
bWV0aG9kc3VwcG9ydC5jb20gUGVyc29uYWw6IGh0dHA6Ly90aGVyZWlzbm9lbmQub3JnIAotLS0t
LS0tLS0tLS0tLSBuZXh0IHBhcnQgLS0tLS0tLS0tLS0tLS0KQW4gSFRNTCBhdHRhY2htZW50IHdh
cyBzY3J1YmJlZC4uLgpVUkw6IGh0dHA6Ly9saXN0cy5zY3N5cy5jby51ay9waXBlcm1haWwvY2F0
YWx5c3QvYXR0YWNobWVudHMvMjAwODA1MTIvODNlMzk2MDcvYXR0YWNobWVudC5odG0K


More information about the Catalyst mailing list