I am using ZBar iOS SDK to scan VIN barcodes on an app. But it sometimes adds an extra "I" character in front of the VIN and omits the last character.
Also, I am using CODE 39 symbology. Is that correct or will I have to change it?
The leading "I" stands for Import and is only coded into some VIN barcodes. See this discussion thread for more details:
http://sourceforge.net/projects/zbar/forums/forum/1072195/topic/4372564
As for the symbology, VIN barcodes come in a variety of formats, such as Code 39, Code 128, or PDF Matrix.