Y'all

We have a VB6 server app that waits for an IBM i app to send it requests. We are looking at Unicode-enabling it - so that UTF-16 data, for instance, will be sent to the VB6 app and passed from there to another Windows server.

We capture the stream with the GetData method of the WinSock control, specifying a vbString type.

Problem is, the byte order on the i is big-endian, and it is little-endian in Windows, and that's how VB sees it.

I need to keep the previous functionality, that doesn't use Unicode - we want to ADD the ability to process Unicode data, not replace the old.

I've tried prepending the big-endian BOM, no good.

Do I need to flip the bytes to make the data stream little-endian? Is there something easy in VB6 for doing that? I've googled quite a bit, haven't come up with something "nice".

I can send a flag to indicate whether we are using Unicode. Then I could use a different data type, such as byte array, I think, receive the data in VB6.

I appreciate any insights - much of this is slicker than anything, just having this initial hurdle.

I think this is a VB issue, not an IBM i matter, but that could be off.

Regards
Vern

As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.