"The purpose of the International Code of Signals is to provide ways and means of communication in situations related essentially to safety of navigation and persons, especially when language difficulties arise." It has done this by first establishing a standardized alphabet (the letters A to Z, and the ten digits), along with a spoken form of each letter (to avoiding confusing similar sounding letters, such as 'b', 'p', and 'v'), and associating this alphabet with standardized flags.
Combinations of these alphanumeric characters are assigned as codes for various standardized messages. For instance, the master of a ship may wish to communicate with another ship, where his own radio may not be working, or the other ship's call sign is not known, or the other ship may not be maintaining a radio watch. One simply raises the Kilo flag (see diagram at the top), or sends the Morse code equivalent (dash-dot-dash) by flashing light; this has the assigned message of "I wish to communicate with you."
One of the elegant aspects of the ICS is that all of the standardized messages come in nine languages (English, French, Italian, German, Japanese, Spanish, Norwegian, and, since 1969, Russian and Greek). That the sender and receiver(s) are using different languages is immaterial; each language has a book with equivalent messages keyed to the same code. This is also useful in radiotelephony, or even when ships are within hailing distance, if there is no common language: a crewman on a burning ship yells "yuliett alfa vour", and a vessel coming to their aid knows exactly what they need: "material for foam fire extinguishers" (that is, the foaming agent).
The Code also covers procedural aspects (how to initiate a call, the format of a message, how to format date and time, etc.), how naval ships (which usually use their own codes) indicate they are using the ISC (by flying the Code pennant), use in radiotelephony (use of the spoken word "Interco"), and various other matters (such as how an aircraft directs a vessel to another vessel in distress, and how to order unidentified submarines to surface).
As a general rule only one hoist should be shown at a time. Each hoist or group of hoists should be kept flying until it has been answered by the receiving station. When more groups than one are shown on the same halyard they must be separated by a tackline. The transmitting station should always hoist the signal where it can be most easily seen by the receiving station, that is, in such a position that the flags will blow out clear and be free from smoke.
How to call
The identity signal of the station(s) addressed is to be hoisted with the signal. If no identity signal is hoisted it will be understood that the signal is addressed to all stations within visual signaling distance. If it is not possible to determine the identity signal of the station to which it is desired to signal, the group "VF" = "You should hoist your identity signal" or "CS" = "What is the name or identity signal of your vessel (or station)?" should be hoisted first; at the same time the station will hoist its own identity signal. The group "YQ" = "I wish to communicate by . . . with vessel bearing . . . from me" can also be used.
How to answer signals
All stations to which signals are addressed or which are indicated in signals are to hoist the answering pennant at the dip as soon as they see each hoist and close up immediately, when they understand it; it is to be lowered to the dip as soon as the hoist is hauled down at the transmitting station, being hoisted close up again as soon as the next hoist is understood.
How to complete a signal
The transmitting station is to hoist the answering pennant singly after the last hoist of the signal to indicate that the signal is completed. The receiving station is to answer this in a similar manner to all other hoists (see paragraph 3 on this page).
How to act when signals are not understood
If the receiving station cannot clearly distinguish the signal made to it, it is to keep the answering pennant at the dip. If it can distinguish the signal but cannot understand the meaning of it, it can hoist the following signals: "ZQ" = "Your signal appears incorrectly coded. You should check and repeat the whole", or "ZL" = "Your signal has been received but not understood".
How to spell
Names in the text of a signal are to be spelled out by means of the alphabetical flags. The signal "YZ" = "The words which follow are in plain language" can be used, if necessary.
Use of the Code pennant by ships of war
When a ship of war wishes to communicate with a merchant vessel she will hoist the Code pennant in a conspicuous position, and keep it flying during the whole of the time the signal is being made.