Abstract Syntax Notation One is a language that defines the way data is sent across dissimilar communication systems. ASN.1 ensures that the data received is the same as the data transmitted by providing a common syntax for specifying Application layer (program-to-program communications) protocols.
Each communications system contains a similar ASN.1 encoding/decoding scheme written in the language used on that particular system. When one system wants to send data to another, the first system encodes the data into ASN.1, sends the data, and the second system receives and decodes the data using the decoder written in the langauge used on that system.
ASN.1 is an ISO /ITU standard based on the OSI model. It was first defined in 1984 as part of CCITT X.409; revised in 1995; then became its own standard, X.208, in 1998.