The point is: don't use FTP to to transfer XML files in ASCII mode as they may or not be ASCII encoded.

You really don't have a clue do you.

Let's posit a scenario. There is an XML file on a z/OS system that you need to transfer to your *nix system. The only access available is ftp. You do the transfer in binary mode and what do you end up with? Utter garbage! Because it is encoded in UTF-EBCDIC and is now totally unintelligible.

The point of ASCII mode, is that the source encodes the data into a known format: "8-bit NVT-ASCII". At the destination, that format is then converted to whatever local format is required. The point of this is that each system only needs to know how to convert from its local format and the "well-known format".

I'll gift you a hint. Under ASCII mode, if the source file is not actually ASCII encoded, the ftp protocol requires that it be converted to ASCII -- or, in this era of unicode, an "ASCII compatible format" like UTF-8 -- for transmission.

If the source file is in EBCDIC, the it is converted to ASCII (or an ASCII compatible) format.

If the source file is in UTF-EBCDIC, then it is converted to ASCII (or an ASCII compatible) format.

Seeing the pattern yet?

Go away, and read the RFC -- I mean actually read it -- and then just stay stum.

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.

"Science is about questioning the status quo. Questioning authority".

In the absence of evidence, opinion is indistinguishable from prejudice.

You do the transfer in binary mode and what do you end up with? Utter garbage!

Incorrect. Again. What you end up with is an XML file encoded in UTF-EBCDIC.

Your supposition that your transfer tools should be able to handle all necessary conversions for you is just wrong-headed.

Let's change this assumption...

The only access available is ftp.

... and assume instead that the only available access is via a webserver.

Since it isn't going to do any conversions for you, what are you going to do? Pull out iconv, of course. Or an equivalent tool. Or do nothing so long as your tool set handles the encoding without problems.

Consider unpacking (on z/OS, if you like) an archive file containing thousands of different XML files with different encodings, created on different platforms. Then someone gives you the filename of one of those and tells you they need you to transfer it to a totally different platform. Whatchagonnado?

I'll gift you a hint. Under ASCII mode [. . . snip . . .]

And I've already gifted you the hint: don't use ASCII mode.

Update:

The point of ASCII mode, is that the source encodes the data into a known format: "8-bit NVT-ASCII". At the destination, that format is then converted to whatever local format is required. The point of this is that each system only needs to know how to convert from its local format and the "well-known format".

You know, that whole paragraph explains a lot. Are you perhaps just so steeped in the old ways of doing things that you completely fail to recognize what advantages a universal cod(e)ing imparts and the problems it solves?

When putting a smiley right before a closing parenthesis, do you:

Use two parentheses: (Like this: :) )
Use one parenthesis: (Like this: :)
Reverse direction of the smiley: (Like this: (: )
Use angle/square brackets instead of parentheses
Use C-style commenting to set the smiley off from the closing parenthesis
Make the smiley a dunce: (:>
I disapprove of emoticons
Other