I have a class module I made that handles sending, receiving, and processing data automatically for use in Winsock applications.

There is a BuildPacket() function that takes a ParamArray() of arguments to send. It loops through the arguments and appends them to a final string, which will be the "packet" that is sent.

Now, it is coded to handle different data types in the arguments. Ex: You can send numeric data, binary data/byte arrays, etc. all in the same packet. If it encounters a byte array, it uses StrConv() to convert it to a string before appending to the packet.

Now my question is, is this a possible cause for a problem when sending binary data?

Should I rewrite the entire thing to work with byte arrays instead so it is never converted to string first? What happens if I added Unicode support in my program and it was sent across the internet? And/or possibly having 2 users communicating with different "locales"/languages on their computer?

This stuff confuses me. Thanks for any help...or..."very much tx for help, plz inform".