• Post Reply Bookmark Topic Watch Topic
  • New Topic

ISBN checker  RSS feed

 
Jolly Cas
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi im a college student in england and i must do an Isbn checker for a project does anyone know how to do one.
 
karl koch
Ranch Hand
Posts: 388
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
isbntools

k
[ June 08, 2004: Message edited by: Max Habibi ]
 
Jolly Cas
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by karl koch:
if you take the time to ask google you will find stuff like this
isbntools

k


thanks Karl
 
fred rosenberger
lowercase baba
Bartender
Posts: 12563
49
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
ISBNs are 10 digits, broken down into 4 variable length fields. For validation purposes, you can ignore where the field breaks are, and any dashes you might get. the first 9 characters must be digits 0-9, the last (the check digit) must be 0-9, x, or X (the case is irrelevant, but it could be printed/entered either way).

to compute the check digit, take the first digit of the string, and mulitply by 10. take the next, mult. by 9, the next by 8... until you multiply the 9th digit by 2 and the 10th digit by 1.

sum all those values.

take that sum modulus 11. if you get 0, the ISBN is valid. if you get anything else, you have an error.

some simple Algebra will prove that if you have exactly 1 digit entered wrong, or reverse the input of two digits, the modified ISBN will fail this test. This scheme was designed since about 95% of all errors when manually entering barcodes are of one of these two error types.

This scheme works for the current ISBN schema, but there will be a change in the next few years - they will become longer and have a new algorithm
 
Jeroen Wenting
Ranch Hand
Posts: 5093
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hmm, didn't know they used an 11-proof verification for ISBN.
Interesting, since it's also used here for bank account numbers...
 
fred rosenberger
lowercase baba
Bartender
Posts: 12563
49
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It's going to change, from what i understand. they're running out of numbers, so they need a new scheme. i'm not sure of the details, but whereas now the fields mean specific things (first field is (i think) language or some sort, second is the publisher, third is the specific book, last is check digit), the new codes will just be handed out as needed.

large publishing houses may be given 10,000 at a time, and a small house maybe 100. and they'll be handed out as needed.

Of course, most of my info on the new format is 2-3 years old, so it's probably changed since then.
 
karl koch
Ranch Hand
Posts: 388
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
[ June 08, 2004: Message edited by: Max Habibi ]

why was my post edited ?
 
fred rosenberger
lowercase baba
Bartender
Posts: 12563
49
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Not being one to leave well enough alone...

It turns out that current ISBNs are actually 13 digits. but they always start off with 978, so those three are ignored. they are not used in the current check digit scheme.

HOWEVER, in Jan 2007, the new ISBN-13 standard is supposed to take effect. basically, they will start issuing 13-digit ISBNs. the old ones are still valid, but will now use that 978. the new ones will start with 979. And since all 13 digits will now be used, we need a new algorithm.

the new algorithm is this:

starting with the first digit, multiply every other digit by 1 and 3 all the way down. sum those values, and the total should be a multiple of 10.

you can find an example here:

New ISBN info

this means that on all 13 digit ISBNs, the check digit will only be 0-9. any old 10-digit ISBN can be converted to a new 13 digit one, by adding the 979, but the check digit will now change.

And the reason i know all this is i work for a company that writes software for libraries. We need to know this kind of stuff. :-)
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!