Hi again !
Ok so basically I think you are using ISO for the country part of the admin2 divisions codes.
There were too many inconsistensies when trying with FIPS.
So to be sure I understand everything correctly :
1)
In admin1Codes.txt you use the full FIPS region code which means the first part of the code (the country part) is the country FIPS code with the exception of US and Switzerland.
2)
In admin2Codes.txt you use the iso code for the country part (first 2 chars).
Then for the region part of the code (characters 4 and 5) i suppose you use the the regional part of FIPS.
And finally for the last part of the code you use the codification that is used by local authorities.
Can you confirm the above ?
And a bonus question Are the codes used in admin1Codes.txt and admin1CodesASCII.txt exactly the same ? I had problems during my last test...
you don't need the adminXXXCodes.txt files. They are generated from the normal dump and are only for convenience.
admin1Codes.txt contains some obsolete codes that are no longer in use (but may still be referenced to as they may not yet have been updated to the new code)
don't speak of the number of characters for each level as the length is not fix.
country: iso code
adm1: mostly fips, some iso, some others
adm2-adm4: mostly country specific code, some iso, some geonameid as adm code when no other code is available.